From: Philipp Stephani Date: Sat, 11 Dec 2021 12:51:34 +0000 (+0100) Subject: Avoid undefined behavior in 'send-process-region' (Bug#52369). X-Git-Tag: emacs-28.0.91~55 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8a0734329a4faf0b45627763af74222bdd0ec143;p=emacs.git Avoid undefined behavior in 'send-process-region' (Bug#52369). * src/process.c (send_process): Signal an error if the file descriptor has already been closed. --- diff --git a/src/process.c b/src/process.c index 75ba191fa10..1d307d5242c 100644 --- a/src/process.c +++ b/src/process.c @@ -6520,6 +6520,9 @@ send_process (Lisp_Object proc, const char *buf, ptrdiff_t len, /* Send this batch, using one or more write calls. */ ptrdiff_t written = 0; int outfd = p->outfd; + if (outfd < 0) + error ("Output file descriptor of %s is closed", + SDATA (p->name)); eassert (0 <= outfd && outfd < FD_SETSIZE); #ifdef DATAGRAM_SOCKETS if (DATAGRAM_CHAN_P (outfd))