> `JvmtiEnv::SetSystemProperty` eventually calls `PathString::set_value` in
> arguments.cpp, which aborts the VM when it fails to allocate a string copy of
> the property value.
>
>
> bool PathString::set_value(const char *value) {
> if (_value != NULL) {
> FreeHeap(_value);
> }
> _value = AllocateHeap(strlen(value)+1, mtArguments );
> // should pass AllocFailStrategy::RETURN_NULL -----^
> assert(_value != NULL, "Unable to allocate space for new path value");
>
>
> This should be fixed so that `JvmtiEnv::SetSystemProperty` can return
> `JVMTI_ERROR_OUT_OF_MEMORY` in case of OOM. See
> https://docs.oracle.com/en/java/javase/17/docs/specs/jvmti.html#SetSystemProperty
Ioi Lam has updated the pull request incrementally with one additional commit
since the last revision:
@dholmes-ora comments: simplify the changes
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7981/files
- new: https://git.openjdk.java.net/jdk/pull/7981/files/0397499f..14a44f63
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7981&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7981&range=01-02
Stats: 29 lines in 4 files changed: 1 ins; 14 del; 14 mod
Patch: https://git.openjdk.java.net/jdk/pull/7981.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7981/head:pull/7981
PR: https://git.openjdk.java.net/jdk/pull/7981