diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2011-08-04 19:15:35 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2011-08-04 19:15:35 -0700 |
commit | 0065d05491ce5981ea20896bb26d21dcd31e6769 (patch) | |
tree | 13240167319d4a99ab5eacae4a883258eb2d28de /src/callproc.c | |
parent | 18ab493650d648ab8dca651ea2698861f926e895 (diff) | |
download | emacs-0065d05491ce5981ea20896bb26d21dcd31e6769.tar.gz |
Adjust in response to jan.h.d's comments.
See, for example <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#26>.
Diffstat (limited to 'src/callproc.c')
-rw-r--r-- | src/callproc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/callproc.c b/src/callproc.c index 993d943e158..4f6d363d5e2 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -252,7 +252,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) val = Qraw_text; else { - SAFE_ALLOCA (args2, Lisp_Object *, (nargs + 1) * sizeof *args2); + SAFE_NALLOCA (args2, 1, nargs + 1); args2[0] = Qcall_process; for (i = 0; i < nargs; i++) args2[i + 1] = args[i]; coding_systems = Ffind_operation_coding_system (nargs + 1, args2); @@ -720,7 +720,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) { ptrdiff_t i; - SAFE_ALLOCA (args2, Lisp_Object *, (nargs + 1) * sizeof *args2); + SAFE_NALLOCA (args2, 1, nargs + 1); args2[0] = Qcall_process; for (i = 0; i < nargs; i++) args2[i + 1] = args[i]; coding_systems @@ -1018,7 +1018,7 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r else { USE_SAFE_ALLOCA; - SAFE_ALLOCA (args2, Lisp_Object *, (nargs + 1) * sizeof *args2); + SAFE_NALLOCA (args2, 1, nargs + 1); args2[0] = Qcall_process_region; for (i = 0; i < nargs; i++) args2[i + 1] = args[i]; coding_systems = Ffind_operation_coding_system (nargs + 1, args2); @@ -1147,11 +1147,9 @@ 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 ptrdiff_t i; + size_t i; /* size_t, because ptrdiff_t might overflow here! */ 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 |