]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Handle null argv in `switch.c`
authorTravis Cross <tc@traviscross.com>
Fri, 22 Aug 2014 01:09:05 +0000 (01:09 +0000)
committerTravis Cross <tc@traviscross.com>
Fri, 22 Aug 2014 01:09:05 +0000 (01:09 +0000)
src/switch.c

index df3574d2d7abaa39c9e853158ea888cc78cee766..241c67481706e0e12074614ff98c4f68f9732c16 100644 (file)
@@ -1053,7 +1053,7 @@ int main(int argc, char *argv[])
                        setrlimit(RLIMIT_STACK, &rlp);
 
                        apr_terminate();
-                       ret = (int) execv(argv[0], argv);
+                       if (argv) ret = (int) execv(argv[0], argv);
 
                        for (i = 0; i < argc; i++) {
                                switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[i]);
@@ -1215,7 +1215,7 @@ int main(int argc, char *argv[])
                int j = 0;
 
                switch_sleep(1000000);
-               if (execv(argv[0], argv) == -1) {
+               if (!argv || execv(argv[0], argv) == -1) {
                        fprintf(stderr, "Restart Failed [%s] resorting to plan b\n", strerror(errno));
                        for (j = 0; j < argc; j++) {
                                switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[j]);