提交 4f81e594 authored 作者: Travis Cross's avatar Travis Cross

Handle null argv in `switch.c`

上级 e2d67d4e
...@@ -1053,7 +1053,7 @@ int main(int argc, char *argv[]) ...@@ -1053,7 +1053,7 @@ int main(int argc, char *argv[])
setrlimit(RLIMIT_STACK, &rlp); setrlimit(RLIMIT_STACK, &rlp);
apr_terminate(); apr_terminate();
ret = (int) execv(argv[0], argv); if (argv) ret = (int) execv(argv[0], argv);
for (i = 0; i < argc; i++) { for (i = 0; i < argc; i++) {
switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[i]); switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[i]);
...@@ -1215,7 +1215,7 @@ int main(int argc, char *argv[]) ...@@ -1215,7 +1215,7 @@ int main(int argc, char *argv[])
int j = 0; int j = 0;
switch_sleep(1000000); 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)); fprintf(stderr, "Restart Failed [%s] resorting to plan b\n", strerror(errno));
for (j = 0; j < argc; j++) { for (j = 0; j < argc; j++) {
switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[j]); switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s ", argv[j]);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论