Merge "Snap for 4660255 from f050493ebf19c98dcb04386c3610bac8038f27fd to oreo-vts-release" into oreo-vts-release
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index ad8444e..f72df81 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -1069,17 +1069,17 @@
// Check that RTLD_NEXT of a libc symbol works in dlopened library
TEST(dlfcn, rtld_next_from_library) {
- void* library_with_close = dlopen("libtest_check_rtld_next_from_library.so", RTLD_NOW);
- ASSERT_TRUE(library_with_close != nullptr) << dlerror();
- void* expected_addr = dlsym(RTLD_DEFAULT, "close");
+ void* library_with_fclose = dlopen("libtest_check_rtld_next_from_library.so", RTLD_NOW);
+ ASSERT_TRUE(library_with_fclose != nullptr) << dlerror();
+ void* expected_addr = dlsym(RTLD_DEFAULT, "fclose");
ASSERT_TRUE(expected_addr != nullptr) << dlerror();
- typedef void* (*get_libc_close_ptr_fn_t)();
- get_libc_close_ptr_fn_t get_libc_close_ptr =
- reinterpret_cast<get_libc_close_ptr_fn_t>(dlsym(library_with_close, "get_libc_close_ptr"));
- ASSERT_TRUE(get_libc_close_ptr != nullptr) << dlerror();
- ASSERT_EQ(expected_addr, get_libc_close_ptr());
+ typedef void* (*get_libc_fclose_ptr_fn_t)();
+ get_libc_fclose_ptr_fn_t get_libc_fclose_ptr =
+ reinterpret_cast<get_libc_fclose_ptr_fn_t>(dlsym(library_with_fclose, "get_libc_fclose_ptr"));
+ ASSERT_TRUE(get_libc_fclose_ptr != nullptr) << dlerror();
+ ASSERT_EQ(expected_addr, get_libc_fclose_ptr());
- dlclose(library_with_close);
+ dlclose(library_with_fclose);
}
diff --git a/tests/libs/check_rtld_next_from_library.cpp b/tests/libs/check_rtld_next_from_library.cpp
index 45d8eea..fb15e2a 100644
--- a/tests/libs/check_rtld_next_from_library.cpp
+++ b/tests/libs/check_rtld_next_from_library.cpp
@@ -15,22 +15,23 @@
*/
#include <dlfcn.h>
+#include <stdio.h>
#include <stdlib.h>
-static void* g_libc_close_ptr;
+static void* g_libc_fclose_ptr;
-static void __attribute__((constructor)) __libc_close_lookup() {
- g_libc_close_ptr = dlsym(RTLD_NEXT, "close");
+static void __attribute__((constructor)) __libc_fclose_lookup() {
+ g_libc_fclose_ptr = dlsym(RTLD_NEXT, "fclose");
}
-// A libc function used for RTLD_NEXT
-// This function in not supposed to be called
-extern "C" int __attribute__((weak)) close(int) {
+// A libc function used for RTLD_NEXT.
+// This function in not supposed to be called.
+extern "C" int __attribute__((weak)) fclose(FILE*) {
abort();
}
-extern "C" void* get_libc_close_ptr() {
- return g_libc_close_ptr;
+extern "C" void* get_libc_fclose_ptr() {
+ return g_libc_fclose_ptr;
}