Module: wine Branch: master Commit: 9361b61949b19ab9ce636ba76c5a5f3f88920736 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9361b61949b19ab9ce636ba76c...
Author: Andrew Nguyen anguyen@codeweavers.com Date: Sat Jan 15 02:28:08 2011 -0600
msvcrt: Fix a possible memory leak in _wpopen if a memory allocation fails.
---
dlls/msvcrt/process.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/msvcrt/process.c b/dlls/msvcrt/process.c index 3e2e15e..349efeb 100644 --- a/dlls/msvcrt/process.c +++ b/dlls/msvcrt/process.c @@ -1079,7 +1079,12 @@ MSVCRT_FILE* CDECL MSVCRT__wpopen(const MSVCRT_wchar_t* command, const MSVCRT_wc if (!(comspec = msvcrt_get_comspec())) goto error; len = strlenW(comspec) + strlenW(flag) + strlenW(command) + 1;
- if (!(fullcmd = HeapAlloc(GetProcessHeap(), 0, len * sizeof(MSVCRT_wchar_t)))) goto error; + if (!(fullcmd = HeapAlloc(GetProcessHeap(), 0, len * sizeof(MSVCRT_wchar_t)))) + { + HeapFree(GetProcessHeap(), 0, comspec); + goto error; + } + strcpyW(fullcmd, comspec); strcatW(fullcmd, flag); strcatW(fullcmd, command);