]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test: Fix ceph_test_rados to not core dump with invalid arguments
authorDavid Zafman <david.zafman@inktank.com>
Tue, 8 Apr 2014 22:19:39 +0000 (15:19 -0700)
committerDavid Zafman <david.zafman@inktank.com>
Fri, 11 Apr 2014 23:22:27 +0000 (16:22 -0700)
Signed-off-by: David Zafman <david.zafman@inktank.com>
src/test/osd/TestRados.cc

index 15c8ff769f8199eece0f7b15fcfd7c40ec8e8ec1..7b73a8f538b68981dc67ff520828670e456fbda6 100644 (file)
@@ -292,6 +292,10 @@ int main(int argc, char **argv)
       no_omap = true;
     } else if (strcmp(argv[i], "--op") == 0) {
       i++;
+      if (i == argc) {
+        cerr << "Missing op after --op" << std::endl;
+        return 1;
+      }
       int j;
       for (j = 0; op_types[j].name; ++j) {
        if (strcmp(op_types[j].name, argv[i]) == 0) {
@@ -302,7 +306,12 @@ int main(int argc, char **argv)
        cerr << "unknown op " << argv[i] << std::endl;
        exit(1);
       }
-      int weight = atoi(argv[++i]);
+      i++;
+      if (i == argc) {
+       cerr << "Weight unspecified." << std::endl;
+       return 1;
+      }
+      int weight = atoi(argv[i]);
       if (weight < 0) {
        cerr << "Weights must be nonnegative." << std::endl;
        return 1;