-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
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;