From: David Zafman Date: Tue, 8 Apr 2014 22:19:39 +0000 (-0700) Subject: test: Fix ceph_test_rados to not core dump with invalid arguments X-Git-Tag: v0.80-rc1~42^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=09b5538cd5cd81abef8bb24bacae7f83efa4f426;p=ceph.git test: Fix ceph_test_rados to not core dump with invalid arguments Signed-off-by: David Zafman --- diff --git a/src/test/osd/TestRados.cc b/src/test/osd/TestRados.cc index 15c8ff769f81..7b73a8f538b6 100644 --- a/src/test/osd/TestRados.cc +++ b/src/test/osd/TestRados.cc @@ -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;