From 67f43e43e081782813fbd2444c5ea0d75744f1ee Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Tue, 1 Feb 2011 16:46:35 +0100 Subject: [PATCH] WITH-ARGV: initialized pointer array to NULLs --- src/os/create-process-unix.lisp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/os/create-process-unix.lisp b/src/os/create-process-unix.lisp index c26b061..5643362 100644 --- a/src/os/create-process-unix.lisp +++ b/src/os/create-process-unix.lisp @@ -121,9 +121,7 @@ (loop :for i :from 1 :for arg :in arglist :do (setf (mem-aref argv :pointer i) - (foreign-string-alloc arg))) - ;; final null pointer - (setf (mem-aref argv :pointer (1- argc)) (null-pointer))) + (foreign-string-alloc arg)))) (defun find-program (program) (cond @@ -137,6 +135,7 @@ `(let ((,program (find-program ,program)) (,argc (+ 2 (length ,arguments)))) (with-foreign-object (,argv :pointer ,argc) + (isys:bzero ,argv (* ,argc (isys:sizeof :pointer))) (unwind-protect (progn (allocate-argv ,argv ,argc ,program ,arguments) -- 2.11.4.GIT