aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2012-12-05 19:39:39 +0200
committerEli Zaretskii2012-12-05 19:39:39 +0200
commit7c2fcf9bad2bed6c0198875384dc2bdb7cbd7e99 (patch)
tree0c6c3111399e34dd12e6a976934615810878be67 /src
parentd3cefd1358e021cc4d510afb18916b067e6b1419 (diff)
downloademacs-7c2fcf9bad2bed6c0198875384dc2bdb7cbd7e99.tar.gz
emacs-7c2fcf9bad2bed6c0198875384dc2bdb7cbd7e99.zip
Don't pass un-encoded file name to mkstemp.
src/callproc.c (Fcall_process_region): Encode expanded temp file pattern before passing it to mkstemp or mktemp.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog2
-rw-r--r--src/callproc.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e71667f7dcf..106333ac8ed 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -3,6 +3,8 @@
3 * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp 3 * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp
4 fails, signal an error instead of continuing with an empty 4 fails, signal an error instead of continuing with an empty
5 string. (Bug#13079) 5 string. (Bug#13079)
6 Encode expanded temp file pattern before passing it to mkstemp or
7 mktemp.
6 8
72012-12-04 Eli Zaretskii <eliz@gnu.org> 92012-12-04 Eli Zaretskii <eliz@gnu.org>
8 10
diff --git a/src/callproc.c b/src/callproc.c
index ce3b11af696..d152da19f7b 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -959,8 +959,9 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
959 { 959 {
960 USE_SAFE_ALLOCA; 960 USE_SAFE_ALLOCA;
961 Lisp_Object pattern = Fexpand_file_name (Vtemp_file_name_pattern, tmpdir); 961 Lisp_Object pattern = Fexpand_file_name (Vtemp_file_name_pattern, tmpdir);
962 char *tempfile = SAFE_ALLOCA (SBYTES (pattern) + 1); 962 Lisp_Object encoded_tem = ENCODE_FILE (pattern);
963 memcpy (tempfile, SDATA (pattern), SBYTES (pattern) + 1); 963 char *tempfile = SAFE_ALLOCA (SBYTES (encoded_tem) + 1);
964 memcpy (tempfile, SDATA (encoded_tem), SBYTES (encoded_tem) + 1);
964 coding_systems = Qt; 965 coding_systems = Qt;
965 966
966#ifdef HAVE_MKSTEMP 967#ifdef HAVE_MKSTEMP