comparison src/process.c @ 76789:e3f8914e3f5e

(Fformat_network_address): Return nil when the argument vector contains invalid values.
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 29 Mar 2007 13:55:48 +0000
parents c21bd0559ef9
children fbe60d04cec2
comparison
equal deleted inserted replaced
76788:e61b4b61e220 76789:e3f8914e3f5e
1293 } 1293 }
1294 else 1294 else
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
1302 if (CONSP (address)) 1315 if (CONSP (address))
1303 { 1316 {
1407 if (p->raw_status_new) 1420 if (p->raw_status_new)
1408 update_status (p); 1421 update_status (p);
1409 symbol = p->status; 1422 symbol = p->status;
1410 if (CONSP (p->status)) 1423 if (CONSP (p->status))
1411 symbol = XCAR (p->status); 1424 symbol = XCAR (p->status);
1412
1413 1425
1414 if (EQ (symbol, Qsignal)) 1426 if (EQ (symbol, Qsignal))
1415 { 1427 {
1416 Lisp_Object tem; 1428 Lisp_Object tem;
1417 tem = Fcar (Fcdr (p->status)); 1429 tem = Fcar (Fcdr (p->status));