2010-03-26 16:29:14 +01:00
|
|
|
Index: sshd.c
|
|
|
|
===================================================================
|
|
|
|
--- sshd.c.orig
|
2007-01-07 17:26:05 +01:00
|
|
|
+++ sshd.c
|
2010-03-26 16:29:14 +01:00
|
|
|
@@ -306,6 +306,7 @@ sighup_handler(int sig)
|
2007-01-07 17:26:05 +01:00
|
|
|
static void
|
|
|
|
sighup_restart(void)
|
|
|
|
{
|
|
|
|
+ int i;
|
|
|
|
logit("Received SIGHUP; restarting.");
|
|
|
|
close_listen_socks();
|
|
|
|
close_startup_pipes();
|
2011-01-31 13:24:57 +01:00
|
|
|
@@ -1319,7 +1320,11 @@ main(int ac, char **av)
|
2007-01-07 17:26:05 +01:00
|
|
|
#ifndef HAVE_SETPROCTITLE
|
|
|
|
/* Prepare for later setproctitle emulation */
|
|
|
|
compat_init_setproctitle(ac, av);
|
|
|
|
- av = saved_argv;
|
|
|
|
+
|
|
|
|
+ av = xmalloc(sizeof(*saved_argv) * (saved_argc + 1));
|
|
|
|
+ for (i = 0; i < saved_argc; i++)
|
|
|
|
+ av[i] = xstrdup(saved_argv[i]);
|
|
|
|
+ av[i] = NULL;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (geteuid() == 0 && setgroups(0, NULL) == -1)
|