diff --git a/quickjs.c b/quickjs.c index 3bf342e31..db5d04135 100644 --- a/quickjs.c +++ b/quickjs.c @@ -3415,7 +3415,9 @@ JSValue JS_NewSymbol(JSContext *ctx, const char *description, bool is_global) JSAtom atom = JS_NewAtom(ctx, description); if (atom == JS_ATOM_NULL) return JS_EXCEPTION; - return JS_NewSymbolFromAtom(ctx, atom, is_global ? JS_ATOM_TYPE_GLOBAL_SYMBOL : JS_ATOM_TYPE_SYMBOL); + JSValue symbol = JS_NewSymbolFromAtom(ctx, atom, is_global ? JS_ATOM_TYPE_GLOBAL_SYMBOL : JS_ATOM_TYPE_SYMBOL); + JS_FreeAtom(ctx, atom); + return symbol; } #define ATOM_GET_STR_BUF_SIZE 64