From 7c1964f5d9ad466229134e0322090ba8081f8e35 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 16 Jan 2020 15:49:58 +0800 Subject: [PATCH] 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 --- src/crush/CrushWrapper.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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); -- 2.39.5