Null values for "map" type causes Buffer overrun on some languages
mhoeger opened this issue · 1 comments
mhoeger commented
Causes buffer overrun, first reported here: Azure/azure-functions-nodejs-worker#142
The root cause of this issue is that we use a "map" in our protobuf file.
From the protocol buffers docs:
If you provide a key but no value for a map field, the behavior when the field is serialized is language-dependent. In C++, Java, and Python the default value for the type is serialized, while in other languages nothing is serialized.
In combination with protobuf.js, this results in generated code that overflows.
case 15:
reader.skip().pos++;
if (message.query === $util.emptyObject)
message.query = {};
key = reader.string();
reader.pos++;
message.query[key] = reader.string();
break;
bterlson commented
Got bit by this today. Any ETA? Anything I can help with?