From 5266b4bb6079efcf14e5d4fc633636a65c4b7e80 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 27 Jul 2011 18:46:23 -0700 Subject: [PATCH] * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. --- src/ChangeLog | 4 ++++ src/callproc.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 10f6e326891..2625c6f9aad 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-07-28 Paul Eggert + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. + 2011-07-28 Paul Eggert Integer signedness and overflow and related fixes. (Bug#9079) diff --git a/src/callproc.c b/src/callproc.c index ad3eddbdd39..f148f6233d4 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -603,6 +603,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) /* vfork, and prevent local vars from being clobbered by the vfork. */ { + int volatile fd1_volatile = fd1; int volatile fd_error_volatile = fd_error; int volatile fd_output_volatile = fd_output; int volatile output_to_buffer_volatile = output_to_buffer; @@ -610,6 +611,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) pid = vfork (); + fd1 = fd1_volatile; fd_error = fd_error_volatile; fd_output = fd_output_volatile; output_to_buffer = output_to_buffer_volatile; -- 2.39.2