Skip to content

Segfault in getString #21

@holyfuchs

Description

@holyfuchs

Trying to parse for example the following result results in a buffer underflow of lengthIndex.

{"jsonrpc":"2.0","id":0,"result":"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005468747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6c6f72626b652f426c6f636b426f6172642f6d61696e2f6173736574732f64656661756c745f68617264776172652e676966000000000000000000000000"}
    while (lengthIndex > 0)
    {
        Serial.println(index);
        asciiHex += v->at(index++);
        lengthIndex -= 32;
    }

checking if lengthIndex is smaller than 32 before subtracting or changing lengthIndex to a signed int fixes the segfault

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions