From 5cef0cac5ad0f2ee2301460bbe383557b0a0d52a Mon Sep 17 00:00:00 2001 From: David Shaw Date: Thu, 25 May 2006 03:02:51 +0000 Subject: [PATCH] * exec.c (make_tempdir): Fix bug with a temporary directory on Win32 that is over 256 bytes long. Noted by Israel G. Lugo. --- g10/ChangeLog | 5 +++++ g10/exec.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/g10/ChangeLog b/g10/ChangeLog index 9c7252267..2b281f1b1 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2006-05-24 David Shaw + + * 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 * gpg.c (reopen_std): New function to reopen fd 0, 1, or 2 if we diff --git a/g10/exec.c b/g10/exec.c index fbd935c4a..924349d25 100644 --- a/g10/exec.c +++ b/g10/exec.c @@ -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 {