secur32: check for variable before freeing it
Austin English
austinenglish at gmail.com
Tue Oct 13 11:12:06 CDT 2009
On Tue, Oct 13, 2009 at 8:30 AM, Vitaliy Margolen
<wine-devel at kievinfo.com> wrote:
> Henri Verbeet wrote:
>> 2009/10/13 Austin English <austinenglish at gmail.com>:
>>> cred = schan_free_handle(i, SCHAN_HANDLE_CRED);
>>> - pgnutls_certificate_free_credentials(cred->credentials);
>>> + if(cred) pgnutls_certificate_free_credentials(cred->credentials);
>> I don't think "cred" is ever supposed to be NULL. Could you add some
>> traces to see where that handle comes from?
I'll take a look tonight.
> This is the place Steam silently crashes on exit (found it last night with
> valgrind):
>
> ==21864== Thread 1:
> ==21864== Invalid read of size 4
> ==21864== at 0x153668B5: SECUR32_deinitSchannelSP (schannel.c:1438)
> ==21864== by 0x1536BBFA: DllMain (secur32.c:675)
> ==21864== by 0x1536FF6D: __wine_spec_dll_entry (dll_entry.c:40)
> ==21864== by 0x7BC47674: ??? (in
> /usr/local/src/wine.git-build/dlls/ntdll/ntdll.dll.so)
> ==21864== by 0x7BC49672: MODULE_InitDLL (loader.c:985)
> ==21864== by 0x7BC4A1CA: process_detach (loader.c:1156)
> ==21864== by 0x7BC4ACDC: LdrUnloadDll (loader.c:2387)
> ==21864== by 0x7B865A74: FreeLibrary (module.c:1023)
> ==21864== by 0x30011254: ??? (in
> /home/vitaliy/.wine-steam/drive_c/Program Files/Steam/Steam.dll)
> ==21864== by 0x30004EC8: ??? (in
> /home/vitaliy/.wine-steam/drive_c/Program Files/Steam/Steam.dll)
> ==21864== by 0x301121F0: ??? (in
> /home/vitaliy/.wine-steam/drive_c/Program Files/Steam/Steam.dll)
> ==21864== by 0x4119F4: ??? (in /home/vitaliy/.wine-steam/drive_c/Program
> Files/Steam/steam.exe)
> ==21864== Address 0x4 is not stack'd, malloc'd or (recently) free'd
What OS? 32/64-bit?
--
-Austin
More information about the wine-devel
mailing list