aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrunfink <grunfink@noreply.codeberg.org>2025-02-20 17:37:57 +0000
committergrunfink <grunfink@noreply.codeberg.org>2025-02-20 17:37:57 +0000
commit7e6a3fd02923feb347d3592ae5c24a93d4ceb0d3 (patch)
tree021173c5ff53a8e7148d4cb7714162bbee7eb1b5
parentd40834edd1aa9d4fdb7cbcacb20edfe11734293f (diff)
parent6d82708fbda83138bbb647e4cd3e8f8856084f44 (diff)
Merge pull request 'Fix uninitialised memory access' (#306) from inz/snac2:uninit into master
Reviewed-on: https://codeberg.org/grunfink/snac2/pulls/306
-rw-r--r--xs.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/xs.h b/xs.h
index b53885e..ab5a264 100644
--- a/xs.h
+++ b/xs.h
@@ -398,6 +398,7 @@ xs_val *xs_dup(const xs_val *data)
xs_val *xs_expand(xs_val *data, int offset, int size)
/* opens a hole in data */
{
+ xstype type = xs_type(data);
int sz = xs_size(data);
int n;
@@ -410,9 +411,9 @@ xs_val *xs_expand(xs_val *data, int offset, int size)
for (n = sz - 1; n >= offset + size; n--)
data[n] = data[n - size];
- if (xs_type(data) == XSTYPE_LIST ||
- xs_type(data) == XSTYPE_DICT ||
- xs_type(data) == XSTYPE_DATA)
+ if (type == XSTYPE_LIST ||
+ type == XSTYPE_DICT ||
+ type == XSTYPE_DATA)
_xs_put_size(data, sz);
return data;