Signed-off-by: Donald Sharp <[email protected]>
---
watchquagga/watchquagga.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/watchquagga/watchquagga.c b/watchquagga/watchquagga.c
index ca05361..93d963f 100644
--- a/watchquagga/watchquagga.c
+++ b/watchquagga/watchquagga.c
@@ -345,8 +345,11 @@ run_background(const char *shell_cmd)
if (setpgid(0,0) < 0)
zlog_warn("warning: setpgid(0,0) failed: %s",safe_strerror(errno));
{
- const char *argv[4] = { "sh", "-c", shell_cmd, NULL};
- execv("/bin/sh",(char *const *)argv);
+ char *shell = strdup("sh");
+ char *dashc = strdup("-c");
+ char *scmd = strdup(shell_cmd);
+ char *const argv[4] = { shell, dashc, scmd, NULL};
+ execv("/bin/sh", argv);
zlog_err("execv(/bin/sh -c '%s') failed: %s",
shell_cmd,safe_strerror(errno));
_exit(127);
--
1.7.10.4
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev