New Defects reported by Coverity Scan for ceph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Please find the latest report on new defect(s) introduced to ceph found with Coverity Scan.

4 new defect(s) introduced to ceph found with Coverity Scan.


New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)


** CID 1260393:  Logically dead code  (DEADCODE)
/osd/osd_types.cc: 3427 in object_copy_data_t::decode(ceph::buffer::list::iterator &)()

** CID 1260394:  Resource leak  (RESOURCE_LEAK)
/test/cls_refcount/test_cls_refcount.cc: 138 in cls_rgw_test_put_snap_Test::TestBody()()

** CID 1260395:  Resource leak  (RESOURCE_LEAK)
/test/librados/snapshots.cc: 160 in LibRadosSnapshotsPP_SnapCreateRemovePP_Test::TestBody()()
/test/librados/snapshots.cc: 164 in LibRadosSnapshotsPP_SnapCreateRemovePP_Test::TestBody()()

** CID 1260396:  Dereference before null check  (REVERSE_INULL)
/librados/RadosClient.cc: 297 in librados::RadosClient::shutdown()()


________________________________________________________________________________________________________
*** CID 1260393:  Logically dead code  (DEADCODE)
/osd/osd_types.cc: 3427 in object_copy_data_t::decode(ceph::buffer::list::iterator &)()
3421         if (struct_v >= 2)
3422           ::decode(omap_header, bl);
3423         if (struct_v >= 3) {
3424           ::decode(snaps, bl);
3425           ::decode(snap_seq, bl);
3426         } else {
>>>     CID 1260393:  Logically dead code  (DEADCODE)
>>>     Execution cannot reach this statement "this->snaps.clear();".
3427           snaps.clear();
3428           snap_seq = 0;
3429         }
3430         if (struct_v >= 4) {
3431           ::decode(flags, bl);
3432           ::decode(data_digest, bl);

________________________________________________________________________________________________________
*** CID 1260394:  Resource leak  (RESOURCE_LEAK)
/test/cls_refcount/test_cls_refcount.cc: 138 in cls_rgw_test_put_snap_Test::TestBody()()
132     
133       ASSERT_EQ(0, ioctx.snap_create("snapbar"));
134     
135       librados::ObjectWriteOperation *op = new_op();
136       op->create(false);
137       cls_refcount_put(*op, "notag", true);
>>>     CID 1260394:  Resource leak  (RESOURCE_LEAK)
>>>     Variable "op" going out of scope leaks the storage it points to.
138       ASSERT_EQ(-ENOENT, ioctx.operate("foo", op));
139     
140       EXPECT_EQ(0, ioctx.snap_remove("snapfoo"));
141       EXPECT_EQ(0, ioctx.snap_remove("snapbar"));
142     
143       delete op;

________________________________________________________________________________________________________
*** CID 1260395:  Resource leak  (RESOURCE_LEAK)
/test/librados/snapshots.cc: 160 in LibRadosSnapshotsPP_SnapCreateRemovePP_Test::TestBody()()
154       ASSERT_EQ(0, ioctx.remove("foo"));
155       ASSERT_EQ(0, ioctx.snap_create("snapbar"));
156     
157       librados::ObjectWriteOperation *op = new librados::ObjectWriteOperation();
158       op->create(false);
159       op->remove();
>>>     CID 1260395:  Resource leak  (RESOURCE_LEAK)
>>>     Variable "op" going out of scope leaks the storage it points to.
160       ASSERT_EQ(0, ioctx.operate("foo", op));
161     
162       EXPECT_EQ(0, ioctx.snap_remove("snapfoo"));
163       EXPECT_EQ(0, ioctx.snap_remove("snapbar"));
164     }
165     
/test/librados/snapshots.cc: 164 in LibRadosSnapshotsPP_SnapCreateRemovePP_Test::TestBody()()
158       op->create(false);
159       op->remove();
160       ASSERT_EQ(0, ioctx.operate("foo", op));
161     
162       EXPECT_EQ(0, ioctx.snap_remove("snapfoo"));
163       EXPECT_EQ(0, ioctx.snap_remove("snapbar"));
>>>     CID 1260395:  Resource leak  (RESOURCE_LEAK)
>>>     Variable "op" going out of scope leaks the storage it points to.
164     }
165     
166     TEST_F(LibRadosSnapshotsSelfManaged, Snap) {
167       std::vector<uint64_t> my_snaps;
168       my_snaps.push_back(-2);
169       ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &my_snaps.back()));

________________________________________________________________________________________________________
*** CID 1260396:  Dereference before null check  (REVERSE_INULL)
/librados/RadosClient.cc: 297 in librados::RadosClient::shutdown()()
291         return;
292       }
293       if (state == CONNECTED) {
294         finisher.stop();
295       }
296       bool need_objecter = false;
>>>     CID 1260396:  Dereference before null check  (REVERSE_INULL)
>>>     Null-checking "this->objecter" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
297       if (objecter && objecter->initialized.read()) {
298         need_objecter = true;
299       }
300       state = DISCONNECTED;
301       instance_id = 0;
302       timer.shutdown();   // will drop+retake lock


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/25?tab=overview

To manage Coverity Scan email notifications for "ceph-devel@xxxxxxxxxxxxxxx", click http://scan.coverity.com/subscriptions/edit?email=ceph-devel%40vger.kernel.org&token=018084d671e3cc89d00dd2ccb7eb849c .

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux