]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: Bail from handle_command() if _generate_command_map() fails 48845/head
authorNikhil Kshirsagar <nikhil.kshirsagar@canonical.com>
Mon, 12 Sep 2022 06:33:59 +0000 (06:33 +0000)
committerNikhil Kshirsagar <nikhil.kshirsagar@canonica.com>
Fri, 11 Nov 2022 09:58:04 +0000 (15:28 +0530)
Bail out of handle_command() if _generate_command_map() throws
an exception due to invalid json. This is an additional fix
for the one that went in through
1109e62f6a3c0a7e06a088c4b833c8ecec51f791

Fixes: https://tracker.ceph.com/issues/57859
Signed-off-by: Nikhil Kshirsagar <nikhil.kshirsagar@canonical.com>
(cherry picked from commit f3d771aabc07f7517efb051bf70d2df1657172b4)

src/mon/Monitor.cc

index 1cc8da3d6614cfb4212f373034dfe157815add01..f1732209bce9320998a27e446d2ae0a126bd92e8 100644 (file)
@@ -3442,9 +3442,9 @@ void Monitor::handle_command(MonOpRequestRef op)
   // Catch bad_cmd_get exception if _generate_command_map() throws it
   try {
     _generate_command_map(cmdmap, param_str_map);
-  }
-  catch(bad_cmd_get& e) {
+  } catch (const bad_cmd_get& e) {
     reply_command(op, -EINVAL, e.what(), 0);
+    return;
   }
 
   if (!_allowed_command(session, service, prefix, cmdmap,