From a77b32aaf66e54202e4a578ca719c827ae146321 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 8 Dec 2006 03:07:15 +0000 Subject: [PATCH] D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh --- src/core/exec.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/core/exec.c b/src/core/exec.c index a0f0b5276..dee814499 100644 --- a/src/core/exec.c +++ b/src/core/exec.c @@ -119,9 +119,12 @@ static int split_args ( char *args, char * argv[] ) { * Execute the named command and arguments. */ int system ( const char *command ) { - char *args = strdup ( command ); + char *args; int argc; - + int rc; + + /* Obtain temporary modifiable copy of command line */ + args = strdup ( command ); if ( ! args ) return -ENOMEM; @@ -134,6 +137,9 @@ int system ( const char *command ) { split_args ( args, argv ); argv[argc] = NULL; - return execv ( argv[0], argv ); + rc = execv ( argv[0], argv ); } + + free ( args ); + return rc; }