@@ -2506,25 +2506,23 @@ napi_status napi_get_all_property_names(napi_env env,
25062506 JSValue proto = JS_DupValue (env -> context , jsValue );
25072507
25082508 while (!JS_IsNull (proto )) {
2509-
25102509 JSPropertyEnum * tab = NULL ;
25112510 uint32_t len = 0 ;
25122511
25132512 JS_GetOwnPropertyNames (env -> context , & tab , & len , proto , get_filter );
2513+
25142514 for (uint32_t i = 0 ; i < len ; i ++ ) {
25152515 JSValue name = JS_AtomToValue (env -> context , tab [i ].atom );
2516-
25172516 JS_SetPropertyInt64 (env -> context , array , i , name );
2518- JS_FreeAtom (env -> context , tab [i ].atom );
25192517 }
25202518
2521- js_free (env -> context , tab );
2519+ JS_FreePropertyEnum (env -> context , tab , len );
2520+
2521+ // Free the prototype.
2522+ JS_FreeValue (env -> context , proto );
25222523
25232524 if (key_mode == napi_key_include_prototypes ) {
2524- JSValue nextProto = JS_GetPrototype (env -> context , proto );
2525- // Free the prototype.
2526- JS_FreeValue (env -> context , proto );
2527- proto = nextProto ;
2525+ proto = JS_GetPrototype (env -> context , proto );
25282526 } else {
25292527 proto = JS_NULL ;
25302528 }
@@ -4231,7 +4229,7 @@ napi_status qjs_free_napi_env(napi_env env) {
42314229
42324230 // Free Context
42334231 JS_FreeContext (env -> context );
4234-
4232+
42354233
42364234 return napi_clear_last_error (env );
42374235}
0 commit comments