Bug: http://b/
25560017
Change-Id: I03c5a1d7aed34c480d341aacfb3b1afdfa037b99
// Read the ELF header and some of the segments.
if (!task->read(realpath.c_str(), file_stat.st_size)) {
+ soinfo_free(si);
+ task->set_soinfo(nullptr);
return false;
}
ASSERT_TRUE(handle_ == nullptr);
ASSERT_EQ("dlopen failed: \"" + lib_realpath + "\" has bad ELF magic", dlerror());
+ // Check if dlsym works after unsuccessful dlopen().
+ // Supply non-exiting one to make linker visit every soinfo.
+ void* sym = dlsym(RTLD_DEFAULT, "this_symbol_does_not_exist___");
+ ASSERT_TRUE(sym == nullptr);
+
close(extinfo.library_fd);
}