Fix unload of recursively linked library
Expanded test for recursive libs. Fixed bug with unnecessary soinfo_free of already loaded library. Change-Id: I2cc19f2650c8b12a35feeac127ef608ebba44d88
This commit is contained in:
@@ -843,6 +843,7 @@ static soinfo* load_library(LoadTaskList& load_tasks, const char* name, int dlfl
|
||||
}
|
||||
|
||||
if ((dlflags & RTLD_NOLOAD) != 0) {
|
||||
DL_ERR("library \"%s\" wasn't loaded and RTLD_NOLOAD prevented it", name);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -950,7 +951,6 @@ static bool find_libraries(const char* const library_names[], size_t library_nam
|
||||
soinfo* needed_by = task->get_needed_by();
|
||||
|
||||
if (is_recursive(si, needed_by)) {
|
||||
soinfo_free(si);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user