From: Fabrice Bellard Date: Sat, 7 Nov 2026 13:25:12 +0000 (+0100) Subject: avoid dereferencing the iterator twice in js_append_enumerate() X-Git-Url: https://git.kaiwu.me/?a=commitdiff_plain;h=092277ac1eb2997916a8ad0c4fbf961c91180498;p=quickjs.git avoid dereferencing the iterator twice in js_append_enumerate() --- diff --git a/quickjs.c b/quickjs.c index a15818e..737cfeb 100644 --- a/quickjs.c +++ b/quickjs.c @@ -17317,9 +17317,9 @@ static __exception int js_append_enumerate(JSContext *ctx, JSValue *sp) ft.generic_magic = js_create_array_iterator; is_array_iterator = JS_IsCFunction(ctx, iterator, ft.generic, JS_ITERATOR_KIND_VALUE); - JS_FreeValue(ctx, iterator); - enumobj = JS_GetIterator(ctx, sp[-1], FALSE); + enumobj = JS_GetIterator2(ctx, sp[-1], iterator); + JS_FreeValue(ctx, iterator); if (JS_IsException(enumobj)) return -1; method = JS_GetProperty(ctx, enumobj, JS_ATOM_next);