From 02859be56d43bcece02aab350e02bc95ed1bf446 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Sun, 30 Sep 2012 01:10:57 +0200 Subject: Fix more undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88 --- src/dns.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/dns.cpp') diff --git a/src/dns.cpp b/src/dns.cpp index 17641c585..1c23710a4 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -596,8 +596,10 @@ DNSResult DNS::GetResult() */ if (from != myserver) { + std::string server1 = from.str(); + std::string server2 = myserver.str(); ServerInstance->Logs->Log("RESOLVER",DEBUG,"Got a result from the wrong server! Bad NAT or DNS forging attempt? '%s' != '%s'", - from.str().c_str(), myserver.str().c_str()); + server1.c_str(), server2.c_str()); return DNSResult(-1,"",0,""); } -- cgit v1.3.1-10-gc9f91