]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crashes due to invalid error forms from sentinels/filters
authorEli Zaretskii <eliz@gnu.org>
Fri, 15 Sep 2017 13:15:05 +0000 (16:15 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 15 Sep 2017 13:15:05 +0000 (16:15 +0300)
* src/process.c (exec_sentinel_error_handler): Make sure the error
form passed to cmd_error_internal is a cons cell.  (Bug#28430)

src/process.c

index b941b5c1f9c47faeff0ea3122b752ee861a63b0d..2733fa391131b953077f19c18d14d5268f9d4fe0 100644 (file)
@@ -7102,6 +7102,10 @@ deliver_child_signal (int sig)
 static Lisp_Object
 exec_sentinel_error_handler (Lisp_Object error_val)
 {
+  /* Make sure error_val is a cons cell, as all the rest of error
+     handling expects that, and will barf otherwise.  */
+  if (!CONSP (error_val))
+    error_val = Fcons (Qerror, error_val);
   cmd_error_internal (error_val, "error in process sentinel: ");
   Vinhibit_quit = Qt;
   update_echo_area ();