]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't pass un-encoded file name to mkstemp.
authorEli Zaretskii <eliz@gnu.org>
Wed, 5 Dec 2012 17:39:39 +0000 (19:39 +0200)
committerEli Zaretskii <eliz@gnu.org>
Wed, 5 Dec 2012 17:39:39 +0000 (19:39 +0200)
 src/callproc.c (Fcall_process_region): Encode expanded temp file
 pattern before passing it to mkstemp or mktemp.

src/ChangeLog
src/callproc.c

index e71667f7dcfb999565d495d9cb10b22ee8e5b759..106333ac8ed1d473f4681aea7e878904e1048b51 100644 (file)
@@ -3,6 +3,8 @@
        * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp
        fails, signal an error instead of continuing with an empty
        string.  (Bug#13079)
+       Encode expanded temp file pattern before passing it to mkstemp or
+       mktemp.
 
 2012-12-04  Eli Zaretskii  <eliz@gnu.org>
 
index ce3b11af6967e66f0abd553d4850e61a55bd5f4d..d152da19f7b34a1d079f12d07a3a677e685c296c 100644 (file)
@@ -959,8 +959,9 @@ usage: (call-process-region START END PROGRAM &optional DELETE BUFFER DISPLAY &r
   {
     USE_SAFE_ALLOCA;
     Lisp_Object pattern = Fexpand_file_name (Vtemp_file_name_pattern, tmpdir);
-    char *tempfile = SAFE_ALLOCA (SBYTES (pattern) + 1);
-    memcpy (tempfile, SDATA (pattern), SBYTES (pattern) + 1);
+    Lisp_Object encoded_tem = ENCODE_FILE (pattern);
+    char *tempfile = SAFE_ALLOCA (SBYTES (encoded_tem) + 1);
+    memcpy (tempfile, SDATA (encoded_tem), SBYTES (encoded_tem) + 1);
     coding_systems = Qt;
 
 #ifdef HAVE_MKSTEMP