RFR: JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
Phil Race
prr at openjdk.org
Thu Aug 25 19:22:55 UTC 2022
On Thu, 25 Aug 2022 08:02:00 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
> https://docs.microsoft.com/en-us/windows/win32/api/stringapiset/nf-stringapiset-multibytetowidechar
> states about MultiByteToWideChar : "The function returns 0 if it does not succeed" and lists a few failure cases.
> However we miss checking the failure case in Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation , seems we assume the function always works nicely (in most of the JDK coding the return value is checked ).
src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp line 724:
> 722: // IShellFolder::ParseDisplayName requires the path name in Unicode.
> 723: ret = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, strret.cStr, -1, olePath, MAX_PATH);
> 724: if (ret == 0) return 0;
if (ret == 0) {
return NULL;
}
Since (1) We always use parens, (2) the other cases return NULL .. unless you want to also change all those to return 0.
-------------
PR: https://git.openjdk.org/jdk/pull/10015
More information about the client-libs-dev
mailing list