Skip to content

Commit 1a5333b

Browse files
committed
prevent 0 length allocation in js_worker_postMessage
1 parent e17cb9f commit 1a5333b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

quickjs-libc.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3527,10 +3527,12 @@ static JSValue js_worker_postMessage(JSContext *ctx, JSValueConst this_val,
35273527
memcpy(msg->data, data, data_len);
35283528
msg->data_len = data_len;
35293529

3530-
msg->sab_tab = malloc(sizeof(msg->sab_tab[0]) * sab_tab_len);
3531-
if (!msg->sab_tab)
3532-
goto fail;
3533-
memcpy(msg->sab_tab, sab_tab, sizeof(msg->sab_tab[0]) * sab_tab_len);
3530+
if (sab_tab_len > 0) {
3531+
msg->sab_tab = malloc(sizeof(msg->sab_tab[0]) * sab_tab_len);
3532+
if (!msg->sab_tab)
3533+
goto fail;
3534+
memcpy(msg->sab_tab, sab_tab, sizeof(msg->sab_tab[0]) * sab_tab_len);
3535+
}
35343536
msg->sab_tab_len = sab_tab_len;
35353537

35363538
js_free(ctx, data);

0 commit comments

Comments
 (0)