aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorJuanma Barranquero2007-03-29 13:58:40 +0000
committerJuanma Barranquero2007-03-29 13:58:40 +0000
commitcbf23adbc6e8b103321dd13e56bf98f7de6cd73e (patch)
treed8a508629c350d698f413db8ecef9b4d5755d7d9 /src/process.c
parent7315c8d9498b895ed275fd700679dca233588aef (diff)
downloademacs-cbf23adbc6e8b103321dd13e56bf98f7de6cd73e.tar.gz
emacs-cbf23adbc6e8b103321dd13e56bf98f7de6cd73e.zip
(Fformat_network_address): Return nil when the
argument vector contains invalid values.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c
index 4f6d2832f8d..14535eb6e1e 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1295,7 +1295,20 @@ Returns nil if format of ADDRESS is invalid. */)
1295 return Qnil; 1295 return Qnil;
1296 1296
1297 for (i = 0; i < nargs; i++) 1297 for (i = 0; i < nargs; i++)
1298 args[i+1] = p->contents[i]; 1298 {
1299 EMACS_INT element = XINT (p->contents[i]);
1300
1301 if (element < 0 || element > 65535)
1302 return Qnil;
1303
1304 if (nargs <= 5 /* IPv4 */
1305 && i < 4 /* host, not port */
1306 && element > 255)
1307 return Qnil;
1308
1309 args[i+1] = p->contents[i];
1310 }
1311
1299 return Fformat (nargs+1, args); 1312 return Fformat (nargs+1, args);
1300 } 1313 }
1301 1314
@@ -1410,7 +1423,6 @@ list_processes_1 (query_only)
1410 if (CONSP (p->status)) 1423 if (CONSP (p->status))
1411 symbol = XCAR (p->status); 1424 symbol = XCAR (p->status);
1412 1425
1413
1414 if (EQ (symbol, Qsignal)) 1426 if (EQ (symbol, Qsignal))
1415 { 1427 {
1416 Lisp_Object tem; 1428 Lisp_Object tem;