diff options
author | Harshavardhana <fharshav@redhat.com> | 2012-01-03 16:05:51 -0800 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-01-12 21:47:06 -0800 |
commit | faf9099bb50d4d2c1a9fe8d3232d541b3f68bc58 (patch) | |
tree | 3276d9f6b7dfd6724d40db75c36ec0d7634b09aa | |
parent | 718a2744076ff21d19c0e9b2cadac5b975a3f6a9 (diff) |
cluster/distribute: dht_aggregate() fix a logic error before xattr comparisons
Change-Id: I20f015263bed9851225005d5f41a5d518bd22592
BUG: 769691
Signed-off-by: Harshavardhana <fharshav@redhat.com>
Reviewed-on: http://review.gluster.com/2557
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amar@gluster.com>
-rw-r--r-- | libglusterfs/src/dict.c | 9 | ||||
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index 833f117fc67..fd9dd1cd7c6 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -108,9 +108,12 @@ int32_t is_data_equal (data_t *one, data_t *two) { - /* LOG-TODO */ - if (!one || !two || !one->data || !two->data) - return 1; + if (!one || !two || !one->data || !two->data) { + gf_log_callingfn ("dict", GF_LOG_ERROR, + "input arguments are provided " + "with value data_t as NULL"); + return -1; + } if (one == two) return 1; diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index fb149e7635e..16bb2c9cc7d 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -75,7 +75,7 @@ dht_aggregate (dict_t *this, char *key, data_t *value, void *data) /* compare user xattrs only */ if (!strncmp (key, "user.", strlen ("user."))) { ret = dict_lookup (dst, key, &data_pair); - if (!ret && data) { + if (!ret && data_pair && value) { ret = is_data_equal (data_pair->value, value); if (!ret) gf_log ("dht", GF_LOG_WARNING, |