1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-03-25 22:19:59 +01:00

* exec.c (make_tempdir) [_WIN32]: Modified to properly handle

arbitrarily long temporary directory paths.
This commit is contained in:
David Shaw 2006-05-27 01:38:54 +00:00
parent 05a2a2f39a
commit b9c2f44336
2 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2006-05-25 Israel G. Lugo <ilugo@bridonsecurity.com> (dshaw)
* exec.c (make_tempdir) [_WIN32]: Modified to properly handle
arbitrarily long temporary directory paths.
2006-05-25 David Shaw <dshaw@jabberwocky.com>
* keygen.c (gen_dsa): Allow generating DSA2 keys

View File

@ -129,16 +129,21 @@ static int make_tempdir(struct exec_info *info)
if(tmp==NULL)
{
#if defined (_WIN32)
int err;
int tmp_siz;
int len=0;
tmp=xmalloc(MAX_PATH+1);
err=GetTempPath(MAX_PATH+1,tmp);
if(err==0 || err>MAX_PATH+1)
strcpy(tmp,"c:\\windows\\temp");
/* Poll temp path length */
tmp_siz=GetTempPath(0,NULL);
if(tmp_siz)
{
tmp=xmalloc(tmp_siz);
len=GetTempPath(tmp_siz,tmp);
}
if(len==0)
tmp=xstrdup("c:\\windows\\temp");
else
{
int len=strlen(tmp);
/* GetTempPath may return with \ on the end */
while(len>0 && tmp[len-1]=='\\')
{