From 6f6d775d47ca583e0c14636f0cc9a0911242b67b Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 16 Oct 2013 00:28:33 +0200 Subject: [PATCH] Fix using NULL environment in vexecle(3). --- libc/vexecle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libc/vexecle.cpp b/libc/vexecle.cpp index fac7f61d..3da8d899 100644 --- a/libc/vexecle.cpp +++ b/libc/vexecle.cpp @@ -33,14 +33,13 @@ extern "C" int vexecle(const char* pathname, va_list args) size_t numargs = 0; while ( va_arg(iter, const char*) ) { numargs++; } va_end(iter); - numargs--; // envp char** argv = (char**) malloc(sizeof(char*) * (numargs+1)); if ( !argv ) { return -1; } for ( size_t i = 0; i < numargs; i++ ) { argv[i] = (char*) va_arg(args, const char*); } - argv[numargs] = NULL; + argv[numargs] = (char*) va_arg(args, char* const*) /* NULL */; char* const* envp = va_arg(args, char* const*); int result = execve(pathname, argv, envp); free(argv);