commit b78cedf7b449fb8be20d64509adcde32b48d9a13
parent b33f760783fc91d4af012736118cd9ec6abfef29
Author: Charlie Gordon <github@chqrlie.org>
Date: Sun, 3 Mar 2024 14:42:01 +0100
prevent 0 length allocation in `js_worker_postMessage`
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/quickjs/quickjs-libc.c b/quickjs/quickjs-libc.c
@@ -4327,10 +4327,12 @@ static JSValue js_worker_postMessage(JSContext *ctx, JSValueConst this_val,
memcpy(msg->data, data, data_len);
msg->data_len = data_len;
- msg->sab_tab = malloc(sizeof(msg->sab_tab[0]) * sab_tab_len);
- if (!msg->sab_tab)
- goto fail;
- memcpy(msg->sab_tab, sab_tab, sizeof(msg->sab_tab[0]) * sab_tab_len);
+ if (sab_tab_len > 0) {
+ msg->sab_tab = malloc(sizeof(msg->sab_tab[0]) * sab_tab_len);
+ if (!msg->sab_tab)
+ goto fail;
+ memcpy(msg->sab_tab, sab_tab, sizeof(msg->sab_tab[0]) * sab_tab_len);
+ }
msg->sab_tab_len = sab_tab_len;
js_free(ctx, data);