RFR: 8343802: Prevent NULL usage backsliding [v5]

Nizar Benalla nbenalla at openjdk.org
Fri Feb 7 17:10:59 UTC 2025


> 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 six additional commits since the last revision:

 - 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:
  - all: https://git.openjdk.org/jdk/pull/23466/files
  - new: https://git.openjdk.org/jdk/pull/23466/files/71b90d45..99577488

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23466&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23466&range=03-04

  Stats: 8237 lines in 406 files changed: 2204 ins; 4192 del; 1841 mod
  Patch: https://git.openjdk.org/jdk/pull/23466.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23466/head:pull/23466

PR: https://git.openjdk.org/jdk/pull/23466


More information about the hotspot-dev mailing list