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;