From: Pierre Joye Date: Thu, 4 Feb 2010 09:25:09 +0000 (+0000) Subject: - fix leak when the SID is already used and duplicated, windows only X-Git-Tag: php-5.3.2RC2~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=979052f70babbfba42350424a21532cc8935ae50;p=php - fix leak when the SID is already used and duplicated, windows only --- diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 1b9f9d8f39..0b9f2c9496 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -170,6 +170,7 @@ PSID tsrm_win32_get_token_sid(HANDLE hToken) /* ConvertSidToStringSid(pTokenUser->User.Sid, &ptcSidOwner); */ pResultSid = malloc(sid_len); + if (!pResultSid) { goto Finished; } @@ -271,6 +272,9 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode) if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) { goto Finished; } + } else { + /* we already have it, free it then */ + free(token_sid); } if (CWDG(realpath_cache_size_limit)) {