fix stack-use-after-scope in netd
Pointer 'ipLiteral' refers to volatile rvalue
Bug: 119496958
Test: compile and push libnetd_resolv.so to device. wifi can work
Change-Id: I1a043abb018301221cb4cbefa9ba9febbbaa7fbd
diff --git a/resolv/PrivateDnsConfiguration.cpp b/resolv/PrivateDnsConfiguration.cpp
index b854a38..b32cf97 100644
--- a/resolv/PrivateDnsConfiguration.cpp
+++ b/resolv/PrivateDnsConfiguration.cpp
@@ -322,9 +322,9 @@
// Invoke the callback to send a validation event to NetdEventListenerService.
if (mCallback != nullptr) {
- const char* ipLiteral = addrToString(&(server.ss)).c_str();
+ const std::string ipLiteral = addrToString(&(server.ss));
const char* hostname = server.name.empty() ? "" : server.name.c_str();
- mCallback(netId, ipLiteral, hostname, success);
+ mCallback(netId, ipLiteral.c_str(), hostname, success);
}
if (success) {