diff a/src/hotspot/share/classfile/classLoader.cpp b/src/hotspot/share/classfile/classLoader.cpp --- a/src/hotspot/share/classfile/classLoader.cpp +++ b/src/hotspot/share/classfile/classLoader.cpp @@ -381,14 +381,14 @@ ClassPathImageEntry::~ClassPathImageEntry() { assert(_singleton == this, "must be"); DEBUG_ONLY(_singleton = NULL); - if (_name != NULL) { - FREE_C_HEAP_ARRAY(const char, _name); - _name = NULL; - } + + FREE_C_HEAP_ARRAY(const char, _name); + _name = NULL; + if (_jimage != NULL) { (*JImageClose)(_jimage); _jimage = NULL; } }