From: Paul Eggert Date: Mon, 19 Aug 2013 05:46:17 +0000 (-0700) Subject: * process.c (handle_child_signal): Fix crash; deleted pid. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1686^2~177 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2249012558e589b9382e068326116dbd909bbb81;p=emacs.git * process.c (handle_child_signal): Fix crash; deleted pid. This was introduced by my 2013-08-12 fix for Bug#15035. Fixes: debbugs:15106 --- diff --git a/src/ChangeLog b/src/ChangeLog index 0f68f36a8c9..0203ce636ef 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-08-19 Paul Eggert + + * process.c (handle_child_signal): Fix crash; deleted pid (Bug#15106). + This was introduced by my 2013-08-12 fix for Bug#15035. + 2013-08-19 Dmitry Antipov * image.c (imagemagick_create_cache, imagemagick_get_animation_cache) diff --git a/src/process.c b/src/process.c index 64cb401c06a..c4dd87a6b48 100644 --- a/src/process.c +++ b/src/process.c @@ -6153,7 +6153,10 @@ handle_child_signal (int sig) = (MOST_NEGATIVE_FIXNUM <= TYPE_MINIMUM (pid_t) && TYPE_MAXIMUM (pid_t) <= MOST_POSITIVE_FIXNUM); Lisp_Object head = XCAR (tail); - Lisp_Object xpid = XCAR (head); + Lisp_Object xpid; + if (! CONSP (head)) + continue; + xpid = XCAR (head); if (all_pids_are_fixnums ? INTEGERP (xpid) : NUMBERP (xpid)) { pid_t deleted_pid;