AlphaWallet / AlphaWallet/Web3E

Segfault in getString

Open
#21 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
152
Forks
45
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.