Skip to content

Interpreter doesn't validate "unused" bits terminal byte in varint #746

@binji

Description

@binji

See WebAssembly/wabt#799.

I belive the encoded value 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0xff 0x7e is not valid as a 64-bit signed varint, as the value it is decoded to, 9151314442816847872, should be encoded as 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0xff 0x00, where the top bits of the last byte are a sign-extension of the sign bit (the least-significant bit).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions