Skip to content

Commit 4744d8e

Browse files
Add overflow check in calldata_append
1 parent 38a71ba commit 4744d8e

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

src/features/generic_tx_parser/calldata.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,11 @@ static bool decompress_chunk(const s_calldata_chunk *chunk, uint8_t *out) {
8989

9090
bool calldata_append(s_calldata *calldata, const uint8_t *buffer, size_t size) {
9191
uint8_t cpy_length;
92+
size_t received_size_after;
9293

9394
if (calldata == NULL) return false;
94-
if ((calldata->received_size + size) > calldata->expected_size) {
95+
if (__builtin_add_overflow(calldata->received_size, size, &received_size_after) ||
96+
(received_size_after > calldata->expected_size)) {
9597
return false;
9698
}
9799

0 commit comments

Comments
 (0)