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.
This commit is contained in:
Philipp Stephani 2021-12-11 13:51:34 +01:00
parent 30dd5c9acc
commit 8a0734329a

View file

@ -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))