Fix svace defects 82/205482/4
authorKonrad Lipinski <k.lipinski2@partner.samsung.com>
Mon, 6 May 2019 18:24:55 +0000 (20:24 +0200)
committerKonrad Lipinski <k.lipinski2@partner.samsung.com>
Wed, 8 May 2019 15:53:34 +0000 (17:53 +0200)
va_start / va_end must be called in the same function

Change-Id: I5176fc2686a62eb0a21e6eb9a5f737dbc3880056

src/manager/dpl/db/src/sql_connection.cpp

index cb4ee0b..902c94d 100644 (file)
 
 namespace {
 const int MAX_RETRY = 10;
-
-struct ScopedVaList {
-       ~ScopedVaList()
-       {
-               va_end(args);
-       }
-       va_list args;
-};
-
-#define scoped_va_start(name, param) ScopedVaList name; va_start(name.args, param);
 }
 
 namespace CKM {
@@ -952,17 +942,29 @@ void SqlConnection::ExecCommandHelper(Output *out, const char *format,
 //LCOV_EXCL_START
 void SqlConnection::ExecCommand(Output *out, const char *format, ...)
 {
-       scoped_va_start(svl, format);
-
-       ExecCommandHelper(out, format, svl.args);
+       va_list args;
+       va_start(args, format);
+       try {
+               ExecCommandHelper(out, format, args);
+       } catch (...) {
+               va_end(args);
+               throw;
+       }
+       va_end(args);
 }
 //LCOV_EXCL_STOP
 
 void SqlConnection::ExecCommand(const char *format, ...)
 {
-       scoped_va_start(svl, format);
-
-       ExecCommandHelper(NULL, format, svl.args);
+       va_list args;
+       va_start(args, format);
+       try {
+               ExecCommandHelper(NULL, format, args);
+       } catch (...) {
+               va_end(args);
+               throw;
+       }
+       va_end(args);
 }
 
 SqlConnection::DataCommandUniquePtr SqlConnection::PrepareDataCommand(