diff options
| author | Juanma Barranquero | 2007-03-29 13:58:40 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2007-03-29 13:58:40 +0000 |
| commit | cbf23adbc6e8b103321dd13e56bf98f7de6cd73e (patch) | |
| tree | d8a508629c350d698f413db8ecef9b4d5755d7d9 /src | |
| parent | 7315c8d9498b895ed275fd700679dca233588aef (diff) | |
| download | emacs-cbf23adbc6e8b103321dd13e56bf98f7de6cd73e.tar.gz emacs-cbf23adbc6e8b103321dd13e56bf98f7de6cd73e.zip | |
(Fformat_network_address): Return nil when the
argument vector contains invalid values.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/process.c | 16 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d1e4995899a..e001f27c9bb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-03-29 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * process.c (Fformat_network_address): Return nil when the | ||
| 4 | argument vector contains invalid values. | ||
| 5 | |||
| 1 | 2007-03-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 6 | 2007-03-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 7 | ||
| 3 | * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Define USE_PTHREAD. | 8 | * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Define USE_PTHREAD. |
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; |