Zhiyi Zhang (@zhiyi) commented about dlls/user32/winproc.c:
DWORD len = wParam * sizeof(WCHAR); if (!(ptr = get_buffer( buffer, sizeof(buffer), len ))) break;
if (!str)
If you check str for NULL before get_buffer() then you don't need to call free_buffer().