We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
As per Protobuf Documentation, "Tags" (Keys) of Records/Keys are encoded as VarInts / LEB128.
However the current Protobuf pattern assumes Keys are always 1 byte:
ImHex-Patterns/patterns/protobuf.hexpat
Line 34 in 6baae92
This assumption will not work anymore for larger (>15) field numbers, where the varint will be 2 bytes long:
CodedOutputStream stream = ...; stream.writeUInt(16, 0);
The output binary will be:
80 01 00
The value byte here is expected to be 0. The current pattern will incorrectly interpret the second byte as the value 1.
The text was updated successfully, but these errors were encountered:
This can be solved by replacing the bitfield with a uleb128 and logical bit shifts
Sorry, something went wrong.
No branches or pull requests
As per Protobuf Documentation, "Tags" (Keys) of Records/Keys are encoded as VarInts / LEB128.
However the current Protobuf pattern assumes Keys are always 1 byte:
ImHex-Patterns/patterns/protobuf.hexpat
Line 34 in 6baae92
This assumption will not work anymore for larger (>15) field numbers, where the varint will be 2 bytes long:
The output binary will be:
The value byte here is expected to be 0. The current pattern will incorrectly interpret the second byte as the value 1.
The text was updated successfully, but these errors were encountered: