From 8a0734329a4faf0b45627763af74222bdd0ec143 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Sat, 11 Dec 2021 13:51:34 +0100 Subject: [PATCH] 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. --- src/process.c | 3 +++ 1 file changed, 3 insertions(+) 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)) -- 2.39.5