From: songweibin Date: Thu, 25 Jul 2019 10:55:39 +0000 (+0800) Subject: src/crush: check before dereference out2 X-Git-Tag: v15.1.0~2056^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e027012117a59fca88d975d390ba25d90d070e83;p=ceph.git src/crush: check before dereference out2 CID 174874 (#2 of 2): Dereference after null check (FORWARD_NULL) 30. var_deref_op: Dereference null pointer out2. Signed-off-by: songweibin --- diff --git a/src/crush/mapper.c b/src/crush/mapper.c index 73f92a77d9f..4ac57262716 100644 --- a/src/crush/mapper.c +++ b/src/crush/mapper.c @@ -792,11 +792,11 @@ static void crush_choose_indep(const struct crush_map *map, out2, rep, recurse_tries, 0, 0, NULL, r, choose_args); - if (out2[rep] == CRUSH_ITEM_NONE) { + if (out2 && out2[rep] == CRUSH_ITEM_NONE) { /* placed nothing; no leaf */ break; } - } else { + } else if (out2) { /* we already have a leaf! */ out2[rep] = item; }