commit 5ae1071
Merge pull request 'Fix some overflow bugs' (#29) from saagarjha/snac2:master into master Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/29
M
xs.h
+3,
-3
1@@ -1057,12 +1057,12 @@ xs_data *xs_data_new(const void *data, int size)
2 xs_data *v;
3
4 /* add the overhead (data type + 24bit size) */
5- size += 4;
6+ int total_size = size + 4;
7
8- v = xs_realloc(NULL, _xs_blk_size(size));
9+ v = xs_realloc(NULL, _xs_blk_size(total_size));
10 v[0] = XSTYPE_DATA;
11
12- _xs_put_24b(v + 1, size);
13+ _xs_put_24b(v + 1, total_size);
14
15 memcpy(&v[4], data, size);
16
+1,
-1
1@@ -55,7 +55,7 @@ static int _data_callback(void *buffer, size_t size,
2
3 /* open space */
4 pd->size += sz;
5- pd->data = xs_realloc(pd->data, pd->size + 1);
6+ pd->data = xs_realloc(pd->data, _xs_blk_size(pd->size + 1));
7
8 /* copy data */
9 memcpy(pd->data + pd->offset, buffer, sz);