int chunk_size = pos_expr - pos_next;
int offset = bc->size - pos_next;
int i;
- dbuf_claim(bc, chunk_size);
+ if (dbuf_claim(bc, chunk_size))
+ return -1;
dbuf_put(bc, bc->buf + pos_next, chunk_size);
memset(bc->buf + pos_next, OP_nop, chunk_size);
/* `next` part ends with a goto */
int chunk_size = pos_body - pos_cont;
int offset = bc->size - pos_cont;
int i;
- dbuf_claim(bc, chunk_size);
+ if (dbuf_claim(bc, chunk_size))
+ goto fail;
dbuf_put(bc, bc->buf + pos_cont, chunk_size);
memset(bc->buf + pos_cont, OP_nop, chunk_size);
/* increment part ends with a goto */
case JS_TAG_STRING_ROPE:
{
JSValue str;
+ int ret;
str = JS_ToString(s->ctx, obj);
if (JS_IsException(str))
goto fail;
- JS_WriteObjectRec(s, str);
+ ret = JS_WriteObjectRec(s, str);
JS_FreeValue(s->ctx, str);
+ if (ret)
+ goto fail;
}
break;
case JS_TAG_FUNCTION_BYTECODE: