aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Colascione2014-03-22 22:15:48 -0700
committerDaniel Colascione2014-03-22 22:15:48 -0700
commit3768a86998e3da26c091b138e86a0e2c80e82644 (patch)
tree668c754476dc392a4d65537960f50badf2121c07 /src
parent13539621ff4240e6d808e2e69158faa594670212 (diff)
downloademacs-3768a86998e3da26c091b138e86a0e2c80e82644.tar.gz
emacs-3768a86998e3da26c091b138e86a0e2c80e82644.zip
Don't underflow datagram_address array
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/process.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index efb96ce8494..36964f57437 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12014-03-23 Daniel Colascione <dancol@dancol.org>
2
3 * process.c (DATAGRAM_CONN_P): Don't underflow datagram_address
4 array. (ASAN caught.)
5
12014-03-22 Glenn Morris <rgm@gnu.org> 62014-03-22 Glenn Morris <rgm@gnu.org>
2 7
3 * callproc.c (init_callproc): In etc, look for NEWS rather than GNU. 8 * callproc.c (init_callproc): In etc, look for NEWS rather than GNU.
diff --git a/src/process.c b/src/process.c
index 10a2984a053..fd34eb08d9d 100644
--- a/src/process.c
+++ b/src/process.c
@@ -353,7 +353,10 @@ static struct sockaddr_and_len {
353 int len; 353 int len;
354} datagram_address[FD_SETSIZE]; 354} datagram_address[FD_SETSIZE];
355#define DATAGRAM_CHAN_P(chan) (datagram_address[chan].sa != 0) 355#define DATAGRAM_CHAN_P(chan) (datagram_address[chan].sa != 0)
356#define DATAGRAM_CONN_P(proc) (PROCESSP (proc) && datagram_address[XPROCESS (proc)->infd].sa != 0) 356#define DATAGRAM_CONN_P(proc) \
357 (PROCESSP (proc) && \
358 XPROCESS (proc)->infd >= 0 && \
359 datagram_address[XPROCESS (proc)->infd].sa != 0)
357#else 360#else
358#define DATAGRAM_CHAN_P(chan) (0) 361#define DATAGRAM_CHAN_P(chan) (0)
359#define DATAGRAM_CONN_P(proc) (0) 362#define DATAGRAM_CONN_P(proc) (0)