On Wed, 28 Apr 2021 12:17:18 GMT, Kevin Walls <kev...@openjdk.org> wrote:
> Hi, > I didn't find it immediately obvious that this was safe, but I followed > things and think that it is correct: > > The malloc'd pointer gets passed to... > JvmtiEnv::AddToBootstrapClassLoaderSearch(const char* segment) { > > which calls > > ClassPathZipEntry* ClassLoader::create_class_path_zip_entry(const char *path, > bool is_boot_append) { > > ..which calls > > char* ClassLoader::get_canonical_path(const char* orig, Thread* thread) { > > ...which makes a copy of the string: > char* orig_copy = NEW_RESOURCE_ARRAY_IN_THREAD(thread, char, strlen(orig)+1); > strcpy(orig_copy, orig); > ...and doesn't apear to keep the pointer. So yes I think we should free it. > 8-) Thank you for your review and explanation. ------------- PR: https://git.openjdk.java.net/jdk/pull/3751