Module: wine Branch: master Commit: 406b6e36d8ed1d5989eec7c6767a57639464bf1b URL: http://source.winehq.org/git/wine.git/?a=commit;h=406b6e36d8ed1d5989eec7c676...
Author: Hans Leidekker hans@codeweavers.com Date: Tue Dec 22 09:08:30 2009 +0100
wininet: Free per-thread error info upon exit from an async procedure.
Found by Valgrind.
---
dlls/wininet/internet.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index dfbe032..969c079 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -3132,8 +3132,13 @@ static DWORD CALLBACK INTERNET_WorkerThreadFunc(LPVOID lpvParam) HeapFree(GetProcessHeap(), 0, lpRequest);
workRequest.asyncproc(&workRequest); - WININET_Release( workRequest.hdr ); + + if (g_dwTlsErrIndex != TLS_OUT_OF_INDEXES) + { + HeapFree(GetProcessHeap(), 0, TlsGetValue(g_dwTlsErrIndex)); + TlsSetValue(g_dwTlsErrIndex, NULL); + } return TRUE; }