From b9b5b0d827a8a43bbedcdad0ebc023e568b2868b Mon Sep 17 00:00:00 2001 From: Travis Cross Date: Wed, 30 Apr 2014 21:57:07 +0000 Subject: [PATCH] Avoid dead assignment of return value of execv execv(3) only returns on error, and will always return -1 in that case. --- src/switch.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/switch.c b/src/switch.c index b1c94eea91..6c2ef2a827 100644 --- a/src/switch.c +++ b/src/switch.c @@ -1203,14 +1203,13 @@ int main(int argc, char *argv[]) int j = 0; switch_sleep(1000000); - ret = (int) execv(argv[0], argv); - 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]); + if (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]); + } + ret = system(buf); } - - ret = system(buf); } return ret;