diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-28 13:29:09 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-07-28 13:29:09 -0700 |
commit | 860887db5c3c55a502795d89d43176783e0e313d (patch) | |
tree | 283d1e4358af587a1360319a9c6a962f7098f896 /src/callproc.c | |
parent | 6e1fc4528b8dcb84ba7d173f6c350cfba5385634 (diff) | |
download | emacs-860887db5c3c55a502795d89d43176783e0e313d.tar.gz emacs-860887db5c3c55a502795d89d43176783e0e313d.tar.bz2 emacs-860887db5c3c55a502795d89d43176783e0e313d.zip |
* callproc.c (child_setup): Don't assume strlen fits in int.
Diffstat (limited to 'src/callproc.c')
-rw-r--r-- | src/callproc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/callproc.c b/src/callproc.c index ad3eddbdd39..13d1232a346 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1145,9 +1145,11 @@ child_setup (int in, int out, int err, register char **new_argv, int set_pgrp, L cleaned up in the usual way. */ { register char *temp; - register int i; + register ptrdiff_t i; i = SBYTES (current_dir); + if (min (PTRDIFF_MAX, SIZE_MAX) - 6 < i) + memory_full (SIZE_MAX); #ifdef MSDOS /* MSDOS must have all environment variables malloc'ed, because low-level libc functions that launch subsidiary processes rely |