From: Kefu Chai Date: Thu, 16 Jan 2020 07:49:58 +0000 (+0800) Subject: crush/CrushWrapper: behave with empty weight vector X-Git-Tag: v15.1.0~177^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F32673%2Fhead;p=ceph.git crush/CrushWrapper: behave with empty weight vector should not dereference an empty vector. Fixes: https://tracker.ceph.com/issues/43404 Signed-off-by: Kefu Chai --- diff --git a/src/crush/CrushWrapper.h b/src/crush/CrushWrapper.h index 97970546038..8e3ceee48f6 100644 --- a/src/crush/CrushWrapper.h +++ b/src/crush/CrushWrapper.h @@ -1577,8 +1577,9 @@ public: crush_init_workspace(crush, work); crush_choose_arg_map arg_map = choose_args_get_with_fallback( choose_args_index); - int numrep = crush_do_rule(crush, rule, x, rawout, maxout, &weight[0], - weight.size(), work, arg_map.args); + int numrep = crush_do_rule(crush, rule, x, rawout, maxout, + std::data(weight), std::size(weight), + work, arg_map.args); if (numrep < 0) numrep = 0; out.resize(numrep);