]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common: Check this->data.op_size before use 18816/head
authoramitkuma <amitkuma@redhat.com>
Wed, 8 Nov 2017 18:00:58 +0000 (23:30 +0530)
committeramitkuma <amitkuma@redhat.com>
Wed, 8 Nov 2017 18:00:58 +0000 (23:30 +0530)
Fixes the coverity issue:
CID 1394853 (#1 of 1): Division or modulo by zero (DIVIDE_BY_ZERO)
29. divide_by_zero: In expression (this->data.object_size * max_objects
+ this->data.op_size - 1UL) / this->data.op_size, division by expression
this->data.op_size which may be zero has undefined behavior.

Signed-off-by: Amit Kumar <amitkuma@redhat.com>
src/common/obj_bencher.cc

index befdefe6710810b08e3cfcde5c5414427bb2f015..97cf7bf8ad3593358971dc3e10711d72e8958120 100644 (file)
@@ -525,10 +525,12 @@ int ObjBencher::write_bench(int secondsToRun,
     lock.Lock();
     ++data.started;
     ++data.in_flight;
-    if (max_objects &&
-       data.started >= (int)((data.object_size * max_objects + data.op_size - 1) /
-                            data.op_size))
-      break;
+    if (data.op_size) {
+      if (max_objects &&
+         data.started >= (int)((data.object_size * max_objects + data.op_size - 1) /
+                              data.op_size))
+        break;
+    }
   }
   lock.Unlock();