From 2a69f853c03034c2e383e0f9c35b5402ce8b5473 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Sun, 20 Mar 2016 17:35:24 -0300 Subject: posix: Fix posix_spawn invalid memory access Current Linux posix_spawn spawn do not test if the pid argument is valid before trying to update it for success case. This patch fixes it. Tested on x86_64 and i686. * sysdeps/unix/sysv/linux/spawni.c (__spawnix): Fix invalid memory access where posix_spawn success and pid argument is null. * posix/tst-spawn.c (do_test): Add posix_spawn null pid argument for success case. --- sysdeps/unix/sysv/linux/spawni.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c index 454462be47..cb80cea00f 100644 --- a/sysdeps/unix/sysv/linux/spawni.c +++ b/sysdeps/unix/sysv/linux/spawni.c @@ -381,7 +381,7 @@ __spawnix (pid_t * pid, const char *file, close_not_cancel (args.pipe[0]); - if (!ec && new_pid) + if (!ec && pid) *pid = new_pid; __sigprocmask (SIG_SETMASK, &args.oldmask, 0); -- cgit v1.2.3-70-g09d2