From 1e26f4e51194e3583c09eb918dae8ad047b6c76f Mon Sep 17 00:00:00 2001 From: David Zafman Date: Mon, 9 Jan 2017 17:34:12 -0800 Subject: [PATCH] ceph-objectstore-tool: Handle object names that are also valid json Treat an argument that happens to be json but doesn't conform to our requirements as an object name. Signed-off-by: David Zafman --- src/tools/ceph_objectstore_tool.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index ec869fc5d43..d7d1319f6c3 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -2666,7 +2666,8 @@ int main(int argc, char **argv) } else { json_spirit::Value v; try { - if (!json_spirit::read(object, v)) { + if (!json_spirit::read(object, v) || + (v.type() != json_spirit::array_type && v.type() != json_spirit::obj_type)) { // Special: Need head/snapdir so set even if user didn't specify if (vm.count("objcmd") && (objcmd == "remove-clone-metadata")) head = true; -- 2.47.3