summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2012-11-29 16:42:16 +0000
committerJoao Eduardo Luis <joao.luis@inktank.com>2012-11-29 21:01:46 +0000
commitc6cc476f18648ffeeacd21f45e5695580103f92b (patch)
treee8336312e8b80197095c5a983f76dbd094a44a80
parent78286b1403a5e0f14f95fe6b92f2fdb163e909f1 (diff)
downloadceph-c6cc476f18648ffeeacd21f45e5695580103f92b.tar.gz
mon: OSDMonitor: return -EINVAL on not-a-uuid during 'osd create'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r--src/mon/OSDMonitor.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
index e72929b7d43..2b1b48b605d 100644
--- a/src/mon/OSDMonitor.cc
+++ b/src/mon/OSDMonitor.cc
@@ -2445,7 +2445,11 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
// optional uuid provided?
uuid_d uuid;
- if (m->cmd.size() > 2 && uuid.parse(m->cmd[2].c_str())) {
+ if (m->cmd.size() > 2) {
+ if (!uuid.parse(m->cmd[2].c_str())) {
+ err = -EINVAL;
+ goto out;
+ }
dout(10) << " osd create got uuid " << uuid << dendl;
i = osdmap.identify_osd(uuid);
if (i >= 0) {