On Mon, 8 Jul 2024 14:24:27 GMT, Lukasz Kostyra <lkost...@openjdk.org> wrote:

> When GetSystemDirectory does not have enough space to output a path to 
> Windows' system directory, it will return a different value than 0 (more 
> notably, the amount of bytes actually needed including null terminator). This 
> was not checked, so the very rare hypothetical situation where Windows' 
> system directory is different than the "standard" `C:\Windows` and longer 
> than MAX_PATH was not properly handled.
> 
> For now I simply changed the code to print an error and exit. This could be 
> improved further to instead dynamically allocate space for the system 
> directory though.
> 
> Other changes, also mentioned in the issue:
> - We use `wchar_t` explicitly here, so I changed `GetSystemDirectory` to 
> `GetSystemDirectoryW` to ensure the code compiles even without UNICODE being 
> defined
> - `wcscat_s` can potentially fail for the same reasons as above, so this 
> situation is also handled now.

Looks good. I ran a quick sanity test as well.

-------------

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1498#pullrequestreview-2164343864

Reply via email to