Hans Leidekker : wininet: Free per-thread error info upon exit from an async procedure.

Alexandre Julliard julliard at winehq.org
Tue Dec 22 09:58:58 CST 2009


Module: wine
Branch: master
Commit: 406b6e36d8ed1d5989eec7c6767a57639464bf1b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=406b6e36d8ed1d5989eec7c6767a57639464bf1b

Author: Hans Leidekker <hans at 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;
 }
 




More information about the wine-cvs mailing list