[Mesa-dev] [PATCH] amd/addrlib: fix missing va_end() after va_copy()

Nicolai Hähnle nhaehnle at gmail.com
Wed Sep 20 14:48:46 UTC 2017


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

There's no reason to use va_copy here.

CID: 1418113
---
I have a slight preference for this variant.
--
 src/amd/addrlib/core/addrobject.cpp | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/amd/addrlib/core/addrobject.cpp b/src/amd/addrlib/core/addrobject.cpp
index dcdb1bffc2b..452feb5fac0 100644
--- a/src/amd/addrlib/core/addrobject.cpp
+++ b/src/amd/addrlib/core/addrobject.cpp
@@ -209,29 +209,25 @@ VOID Object::operator delete(
 ****************************************************************************************************
 */
 VOID Object::DebugPrint(
     const CHAR* pDebugString,     ///< [in] Debug string
     ...
     ) const
 {
 #if DEBUG
     if (m_client.callbacks.debugPrint != NULL)
     {
-        va_list ap;
-
-        va_start(ap, pDebugString);
-
         ADDR_DEBUGPRINT_INPUT debugPrintInput = {0};
 
         debugPrintInput.size         = sizeof(ADDR_DEBUGPRINT_INPUT);
         debugPrintInput.pDebugString = const_cast<CHAR*>(pDebugString);
         debugPrintInput.hClient      = m_client.handle;
-        va_copy(debugPrintInput.ap, ap);
+        va_start(debugPrintInput.ap, pDebugString);
 
         m_client.callbacks.debugPrint(&debugPrintInput);
 
-        va_end(ap);
+        va_end(debugPrintInput.ap);
     }
 #endif
 }
 
 } // Addr
-- 
2.11.0



More information about the mesa-dev mailing list