From b9f25e178d418faecbbcc2063cccdccfdc52abb1 Mon Sep 17 00:00:00 2001 From: "mccabe%netscape.com" Date: Fri, 19 May 2000 00:34:46 +0000 Subject: [PATCH] Patch xpcshell.cpp to not try to call JS_malloc with 0 bytes. Patch courtesy Mark G. Adams r=mccabe This code is part of xpcshell, and doesn't go into the mozilla product. Prior to this fix, xpcshell crashed on startup. git-svn-id: svn://10.0.0.236/trunk@70493 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/src/xpconnect/shell/xpcshell.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mozilla/js/src/xpconnect/shell/xpcshell.cpp b/mozilla/js/src/xpconnect/shell/xpcshell.cpp index a87dc5131c2..3838b504d64 100644 --- a/mozilla/js/src/xpconnect/shell/xpcshell.cpp +++ b/mozilla/js/src/xpconnect/shell/xpcshell.cpp @@ -598,12 +598,15 @@ ProcessArgs(JSContext *cx, JSObject *obj, char **argv, int argc) } length = argc - i; - vector = (jsval*) JS_malloc(cx, length * sizeof(jsval)); + if (length == 0) { + vector = NULL; + } else { + vector = (jsval*) JS_malloc(cx, length * sizeof(jsval)); + if (vector == NULL) + return 1; + } p = vector; - if (vector == NULL) - return 1; - while (i < argc) { JSString *str = JS_NewStringCopyZ(cx, argv[i]); if (str == NULL) @@ -612,7 +615,9 @@ ProcessArgs(JSContext *cx, JSObject *obj, char **argv, int argc) i++; } argsObj = JS_NewArrayObject(cx, length, vector); - JS_free(cx, vector); + if (vector) { + JS_free(cx, vector); + } if (argsObj == NULL) return 1;