-/* $OpenBSD: readconf.c,v 1.243 2015/10/25 23:14:03 dtucker Exp $ */
+/* $OpenBSD: readconf.c,v 1.244 2015/10/27 00:49:53 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
/* Fork and execute the command. */
if ((pid = fork()) == 0) {
- char *argv[4];
+ char *argv[] = { shell, "-c", xstrdup(cmd), NULL };
/* Child. Permanently give up superuser privileges. */
permanently_drop_suid(original_real_uid);
close(devnull);
closefrom(STDERR_FILENO + 1);
- argv[0] = shell;
- argv[1] = "-c";
- argv[2] = cmd;
- argv[3] = NULL;
-
execv(argv[0], argv);
error("Unable to execute '%.100s': %s", cmd, strerror(errno));
/* Die with signal to make this error apparent to parent. */