* exec.c (make_tempdir): Fix bug with a temporary directory on Win32
authorDavid Shaw <dshaw@jabberwocky.com>
Thu, 25 May 2006 03:02:51 +0000 (03:02 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Thu, 25 May 2006 03:02:51 +0000 (03:02 +0000)
that is over 256 bytes long.  Noted by Israel G. Lugo.

g10/ChangeLog
g10/exec.c

index 9c72522..2b281f1 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * exec.c (make_tempdir): Fix bug with a temporary directory on
+       Win32 that is over 256 bytes long.  Noted by Israel G. Lugo.
+
 2006-05-23  David Shaw  <dshaw@jabberwocky.com>
 
        * gpg.c (reopen_std): New function to reopen fd 0, 1, or 2 if we
index fbd935c..924349d 100644 (file)
@@ -129,8 +129,11 @@ static int make_tempdir(struct exec_info *info)
   if(tmp==NULL)
     {
 #if defined (_WIN32)
-      tmp=xmalloc(256);
-      if(GetTempPath(256,tmp)==0)
+      int err;
+
+      tmp=xmalloc(MAX_PATH+1);
+      err=GetTempPath(MAX_PATH+1,tmp);
+      if(err==0 || err>MAX_PATH+1)
        strcpy(tmp,"c:\\windows\\temp");
       else
        {