core,w32: Fix memleak of tmp_name in w32-io
* src/w32-io.c (_gpgme_io_spawn): Free tmp_name. -- GnuPG-Bug-Id: T4238
This commit is contained in:
parent
681525be00
commit
7a1b58045f
@ -1610,6 +1610,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
|||||||
{
|
{
|
||||||
close (tmp_fd);
|
close (tmp_fd);
|
||||||
DeleteFileA (tmp_name);
|
DeleteFileA (tmp_name);
|
||||||
|
free (tmp_name);
|
||||||
return TRACE_SYSRES (-1);
|
return TRACE_SYSRES (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1649,6 +1650,9 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
|||||||
MessageBoxA (NULL, msg, "GpgME not installed correctly", MB_OK);
|
MessageBoxA (NULL, msg, "GpgME not installed correctly", MB_OK);
|
||||||
gpgrt_free (msg);
|
gpgrt_free (msg);
|
||||||
gpg_err_set_errno (EIO);
|
gpg_err_set_errno (EIO);
|
||||||
|
close (tmp_fd);
|
||||||
|
DeleteFileA (tmp_name);
|
||||||
|
free (tmp_name);
|
||||||
return TRACE_SYSRES (-1);
|
return TRACE_SYSRES (-1);
|
||||||
}
|
}
|
||||||
if (!CreateProcessA (spawnhelper,
|
if (!CreateProcessA (spawnhelper,
|
||||||
@ -1667,12 +1671,14 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
|||||||
free (arg_string);
|
free (arg_string);
|
||||||
close (tmp_fd);
|
close (tmp_fd);
|
||||||
DeleteFileA (tmp_name);
|
DeleteFileA (tmp_name);
|
||||||
|
free (tmp_name);
|
||||||
|
|
||||||
/* FIXME: Should translate the error code. */
|
/* FIXME: Should translate the error code. */
|
||||||
gpg_err_set_errno (EIO);
|
gpg_err_set_errno (EIO);
|
||||||
return TRACE_SYSRES (-1);
|
return TRACE_SYSRES (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free (tmp_name);
|
||||||
free (arg_string);
|
free (arg_string);
|
||||||
|
|
||||||
if (flags & IOSPAWN_FLAG_ALLOW_SET_FG)
|
if (flags & IOSPAWN_FLAG_ALLOW_SET_FG)
|
||||||
@ -1702,6 +1708,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
|
|||||||
|
|
||||||
close (tmp_fd);
|
close (tmp_fd);
|
||||||
DeleteFileA (tmp_name);
|
DeleteFileA (tmp_name);
|
||||||
|
free (tmp_name);
|
||||||
|
|
||||||
/* FIXME: Should translate the error code. */
|
/* FIXME: Should translate the error code. */
|
||||||
gpg_err_set_errno (EIO);
|
gpg_err_set_errno (EIO);
|
||||||
|
Loading…
Reference in New Issue
Block a user