diff --git a/src/sbbs3/js_sprintf.c b/src/sbbs3/js_sprintf.c index 33c6e1942c53e4f8ccedc0f36e82bd982a26126e..29d3e62e47f7b31784f0267f93333d7a30274165 100644 --- a/src/sbbs3/js_sprintf.c +++ b/src/sbbs3/js_sprintf.c @@ -41,16 +41,18 @@ char* DLLCALL js_sprintf(JSContext *cx, uint argn, uintN argc, jsval *argv) { + char* op; char* p; char *p2=NULL; size_t p2_sz; - JSVALUE_TO_MSTRING(cx, argv[argn++], p, NULL); + JSVALUE_TO_MSTRING(cx, argv[argn++], op, NULL); if(JS_IsExceptionPending(cx)) JS_ClearPendingException(cx); if(p==NULL) return(NULL); + p=op; p=xp_asprintf_start(p); for(; argn<argc; argn++) { if(JSVAL_IS_DOUBLE(argv[argn])) @@ -74,7 +76,7 @@ js_sprintf(JSContext *cx, uint argn, uintN argc, jsval *argv) if(p2) free(p2); p2=xp_asprintf_end(p, NULL); - free(p); + free(op); return p2; }