]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/dbstore: Fix coverity issues #1510412, #1511420 47970/head
authorSoumya Koduri <skoduri@redhat.com>
Mon, 5 Sep 2022 08:31:32 +0000 (14:01 +0530)
committerSoumya Koduri <skoduri@redhat.com>
Mon, 12 Sep 2022 05:11:21 +0000 (10:41 +0530)
Fixes: https://tracker.ceph.com/issues/57322
Fixes: https://tracker.ceph.com/issues/57325
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
src/rgw/rgw_sal_dbstore.cc
src/rgw/rgw_sal_dbstore.h

index e8f39b43243e8323abcdcaa46b21f4ff8120383b..e47548ef4ab03996f2c7f19afda2cd250c83b3b6 100644 (file)
@@ -1249,11 +1249,12 @@ namespace rgw::sal {
                 ptail_placement_rule(_ptail_placement_rule),
                 head_obj(std::move(_head_obj)),
                 upload_id(upload->get_upload_id()),
+                part_num(_part_num),
                 oid(head_obj->get_name() + "." + upload_id +
                     "." + std::to_string(part_num)),
                 meta_obj(((DBMultipartUpload*)upload)->get_meta_obj()),
                 op_target(_store->getDB(), head_obj->get_bucket()->get_info(), head_obj->get_obj(), upload_id),
-                parent_op(&op_target), part_num(_part_num),
+                parent_op(&op_target),
                 part_num_str(_part_num_str) {}
 
   int DBMultipartWriter::prepare(optional_yield y)
@@ -2024,25 +2025,20 @@ extern "C" {
   void *newDBStore(CephContext *cct)
   {
     rgw::sal::DBStore *store = new rgw::sal::DBStore();
-    if (store) {
-      DBStoreManager *dbsm = new DBStoreManager(cct);
+    DBStoreManager *dbsm = new DBStoreManager(cct);
 
-      if (!dbsm ) {
-        delete store; store = nullptr;
-      }
-
-      DB *db = dbsm->getDB();
-      if (!db) {
-        delete dbsm;
-        delete store; store = nullptr;
-      }
-
-      store->setDBStoreManager(dbsm);
-      store->setDB(db);
-      db->set_store((rgw::sal::Store*)store);
-      db->set_context(cct);
+    DB *db = dbsm->getDB();
+    if (!db) {
+      delete dbsm;
+      delete store;
+      return nullptr;
     }
 
+    store->setDBStoreManager(dbsm);
+    store->setDB(db);
+    db->set_store((rgw::sal::Store*)store);
+    db->set_context(cct);
+
     return store;
   }
 
index d70da2b497c63ee52105dea8426c68e355f65720..94a4926c1bf7534319630ef5a138fb7f538e9357 100644 (file)
@@ -701,11 +701,11 @@ protected:
        uint64_t olh_epoch;
     std::unique_ptr<rgw::sal::Object> head_obj;
     std::string upload_id;
+    int part_num;
     std::string oid; /* object->name() + "." + "upload_id" + "." + part_num */
     std::unique_ptr<rgw::sal::Object> meta_obj;
     DB::Object op_target;
     DB::Object::Write parent_op;
-    int part_num;
     std::string part_num_str;
     uint64_t total_data_size = 0; /* for total data being uploaded */
     bufferlist head_data;