]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: Fix potential null dereference in rgw/driver/dbstore/sqlite/statement.cc
authorVedansh Bhartia <vedanshbhartia@gmail.com>
Thu, 13 Jul 2023 11:47:06 +0000 (17:17 +0530)
committerVedansh Bhartia <vedanshbhartia@gmail.com>
Mon, 24 Jul 2023 17:21:36 +0000 (22:51 +0530)
Signed-off-by: Vedansh Bhartia <vedanshbhartia@gmail.com>
src/rgw/driver/dbstore/sqlite/statement.cc

index 3e44f4c0b6e5847a7a32c81ce0dff48928501301..199774f4d9ad782de7e85157bfc1fb0f4b812c95 100644 (file)
@@ -118,10 +118,10 @@ void eval0(const DoutPrefixProvider* dpp, const stmt_execution& stmt)
   if (ec != sqlite::errc::done) {
     const char* errmsg = ::sqlite3_errmsg(db);
     ldpp_dout(dpp, 20) << "evaluation failed: " << errmsg
-        << " (" << ec << ")\nstatement: " << sql.get() << dendl;
+        << " (" << ec << ")\nstatement: " << (sql ? sql.get() : "") << dendl;
     throw sqlite::error(errmsg, ec);
   }
-  ldpp_dout(dpp, 20) << "evaluation succeeded: " << sql.get() << dendl;
+  ldpp_dout(dpp, 20) << "evaluation succeeded: " << (sql ? sql.get() : "") << dendl;
 }
 
 void eval1(const DoutPrefixProvider* dpp, const stmt_execution& stmt)
@@ -137,10 +137,10 @@ void eval1(const DoutPrefixProvider* dpp, const stmt_execution& stmt)
     sqlite3* db = ::sqlite3_db_handle(stmt.get());
     const char* errmsg = ::sqlite3_errmsg(db);
     ldpp_dout(dpp, 1) << "evaluation failed: " << errmsg << " (" << ec
-        << ")\nstatement: " << sql.get() << dendl;
+        << ")\nstatement: " << (sql ? sql.get() : "") << dendl;
     throw sqlite::error(errmsg, ec);
   }
-  ldpp_dout(dpp, 20) << "evaluation succeeded: " << sql.get() << dendl;
+  ldpp_dout(dpp, 20) << "evaluation succeeded: " << (sql ? sql.get() : "") << dendl;
 }
 
 int column_int(const stmt_execution& stmt, int column)
@@ -181,14 +181,14 @@ auto read_text_rows(const DoutPrefixProvider* dpp,
       sqlite3* db = ::sqlite3_db_handle(stmt.get());
       const char* errmsg = ::sqlite3_errmsg(db);
       ldpp_dout(dpp, 1) << "evaluation failed: " << errmsg << " (" << ec
-          << ")\nstatement: " << sql.get() << dendl;
+          << ")\nstatement: " << (sql ? sql.get() : "") << dendl;
       throw sqlite::error(errmsg, ec);
     }
     entries[count] = column_text(stmt, 0);
     ++count;
   }
   ldpp_dout(dpp, 20) << "statement evaluation produced " << count
-      << " results: " << sql.get() << dendl;
+      << " results: " << (sql ? sql.get() : "") << dendl;
 
   return entries.first(count);
 }