RFR: 8332589: ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null [v2]

Matthias Baesken mbaesken at openjdk.org
Thu May 23 14:36:02 UTC 2024


On Thu, 23 May 2024 07:26:14 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

>> When building with ubsan enabled (--enable-uban) on Linux x86_64 and doing jtreg tests afterwards I run into this error :
>> 
>> /jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null
>>     #0 0x7fd95bec78d8 in spawnChild /jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c:562
>>     #1 0x7fd95bec78d8 in startChild /jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c:612
>>     #2 0x7fd95bec78d8 in Java_java_lang_ProcessImpl_forkAndExec /jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c:712
>>     #3 0x7fd93797a06d (<unknown module>)
>> 
>> this is the memcpy call getting an unexpected null pointer :
>>     memcpy(buf+offset, c->pdir, sp.dirlen); gets a second parameter null.
>> Something similar was discussed and fixed here https://bugs.python.org/issue27570 for Python .
>> 
>> Similar issue in OpenJDK _ 
>> https://bugs.openjdk.org/browse/JDK-8332473
>> 8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null
>
> Matthias Baesken has updated the pull request incrementally with one additional commit since the last revision:
> 
>   remarks Roger Riggs

Roger/Magnus,  should I still add some handling for Magnus' concern : "However, if we ever call this with a non-zero sp.dirlen and a null c->pdir, we'd be in trouble."
E.g. check for this and return -1  ?

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

PR Comment: https://git.openjdk.org/jdk/pull/19329#issuecomment-2127284704


More information about the core-libs-dev mailing list