RFR: 8343802: Prevent NULL usage backsliding [v6]

Kim Barrett kbarrett at openjdk.org
Wed Feb 12 20:58:15 UTC 2025


On Mon, 10 Feb 2025 15:24:13 GMT, Nizar Benalla <nbenalla at openjdk.org> wrote:

>> Please review this patch to add a test that checks the hotspot sources and test files for usages of NULL.
>> It scans files in those directories, filtering out certain files as well as all `.c`, `.java`, `.class`, `.jar` and `.zip` files in test sources. 
>> 
>> Before adding line 86 and excluding `os_windows.cpp`, the test failed with:
>> 
>> 
>> Error: 'NULL' found in /w/jdk/src/hotspot/os/windows/os_windows.cpp at line 4436:
>>     HMODULE hModule = NULL;
>> Error: 'NULL' found in /w/jdk/src/hotspot/os/windows/os_windows.cpp at line 4437:
>>     GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, NULL, &hModule);
>> java.lang.RuntimeException: Found usage of 'NULL' in source files. See errors above.
>> 	at TestNoNULL.main(TestNoNULL.java:73)
>> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
>> 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
>> 	at java.base/java.lang.Thread.run(Thread.java:1447)
>
> Nizar Benalla has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> 
>  - pass an empty set the method rather than a boolean
>    
>    better exception handling/message when encountering a binary file
>  - Merge remote-tracking branch 'upstream/master' into NULL-Checking-in-hotspot
>  - filter out `.zip` files
>  - Merge remote-tracking branch 'upstream/master' into NULL-Checking-in-hotspot
>  - trivial change, if .java files are filtered out then so should .class files
>  - revert to the original regex and remove the exclusion of os_windows.cpp
>  - update based on feedback
>  - Add a test to prevent NULL backsliding

Changes requested by kbarrett (Reviewer).

test/hotspot/jtreg/sources/TestNoNULL.java line 93:

> 91:     }
> 92: 
> 93:     private static void processFiles(Path directory, Set<String> excludedFiles, Set<String> excludeExtensions) throws IOException {

`s/excludeExtensions/excludedExtensions/` here and elsewhere.

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

PR Review: https://git.openjdk.org/jdk/pull/23466#pullrequestreview-2613178455
PR Review Comment: https://git.openjdk.org/jdk/pull/23466#discussion_r1953383462


More information about the hotspot-dev mailing list