From 9314a67565dc891186845d9af0cdf4ed09d5f009 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Thu, 11 Jun 2015 14:44:48 +0530 Subject: [PATCH 57/57] cluster/ec: Prevent Null dereference in dht-rename Backport of http://review.gluster.com/11178 BUG: 1230522 Change-Id: I708d4d84b1341fb7cb515808836721735dc63f14 Signed-off-by: Pranith Kumar K Reviewed-on: https://code.engineering.redhat.com/gerrit/50510 --- tests/basic/ec/dht-rename.t | 19 +++++++++++++++++++ xlators/cluster/ec/src/ec-common.c | 2 +- 2 files changed, 20 insertions(+), 1 deletions(-) create mode 100644 tests/basic/ec/dht-rename.t diff --git a/tests/basic/ec/dht-rename.t b/tests/basic/ec/dht-rename.t new file mode 100644 index 0000000..81b41ff --- /dev/null +++ b/tests/basic/ec/dht-rename.t @@ -0,0 +1,19 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +# This test checks notify part of ec + +cleanup +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 disperse 3 redundancy 1 $H0:$B0/${V0}{0..5} +TEST $CLI volume start $V0 + +TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0; +EXPECT_WITHIN $CHILD_UP_TIMEOUT "3" ec_child_up_count $V0 0 + +TEST touch $M0/1 +TEST mv $M0/1 $M0/10 +cleanup diff --git a/xlators/cluster/ec/src/ec-common.c b/xlators/cluster/ec/src/ec-common.c index d9f3442..a158637 100644 --- a/xlators/cluster/ec/src/ec-common.c +++ b/xlators/cluster/ec/src/ec-common.c @@ -1143,7 +1143,7 @@ void ec_get_real_size(ec_lock_link_t *link) ec_fop_data_t *fop; dict_t *xdata; - if (link->base == NULL) { + if (link->base == NULL || link->base->inode == NULL) { return; } -- 1.7.1