Potential Heap Corrupt caused by unchecked return value

??. ? taisfmq at live.cn
Sat Apr 7 11:02:28 CDT 2018


Look here https://github.com/wine-mirror/wine/blob/master/dlls/winex11.drv/xim.c#L191

When MultiByteToWideChar above fails, dwOutput will be 0, and then decreased to -1. The -1 value passed to X11DRV_ImmSetInternalString will then be passed to HeapAlloc, making a heap corruption. I encountered this issue once and my temporary solution is to change the default locale inside my Docker environment in which Wine is running. Personally speaking this is a bad programming style, but I am not familiar with Wine code base and I am not sure what is the right way to throw up this error when detected. Thanks

BTW, the patch submitting procedure for this project is tedious for a GitHub user who didn't use any mailing lists before


More information about the wine-devel mailing list