From 464ff8f7592e7d6a9239ca1fab1928d4a608f253 Mon Sep 17 00:00:00 2001 From: Xavier Hernandez Date: Wed, 16 Jul 2014 13:50:53 +0200 Subject: ec: Fixed coveriry scan issues CID list: 1226163 Logically dead code 1226166 Missing break in switch 1226167 Missing break in switch 1226168 Missing break in switch 1226169 Missing break in switch 1226170 Missing break in switch 1226171 Missing break in switch 1226172 Missing break in switch 1226173 Missing break in switch 1226174 Missing break in switch 1226175 Missing break in switch 1226176 Missing break in switch 1226177 Missing break in switch 1226178 Data race condition 1226179 Data race condition 1226180 Data race condition 1226181 Thread deadlock 1226182 Uninitialized pointer read 1226183 Uninitialized pointer read 1226184 Read from pointer after free Change-Id: I4d33aa42289371927175c43bb29e018df64fb943 BUG: 789278 Signed-off-by: Xavier Hernandez Reviewed-on: http://review.gluster.org/8317 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/cluster/ec/src/ec-combine.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'xlators/cluster/ec/src/ec-combine.c') diff --git a/xlators/cluster/ec/src/ec-combine.c b/xlators/cluster/ec/src/ec-combine.c index 07d819a9a3d..3d088d9be4a 100644 --- a/xlators/cluster/ec/src/ec-combine.c +++ b/xlators/cluster/ec/src/ec-combine.c @@ -366,18 +366,26 @@ int32_t ec_dict_data_merge(ec_cbk_data_t * cbk, int32_t which, char * key) return -1; } - if (dict_unserialize(data[0]->data, data[0]->len, &lockinfo) != 0) + lockinfo = dict_new(); + if (lockinfo == NULL) { return -1; } + if (dict_unserialize(data[0]->data, data[0]->len, &lockinfo) != 0) + { + goto out; + } + for (i = 1; i < num; i++) { - if (dict_unserialize(data[i]->data, data[i]->len, &tmp) != 0) + tmp = dict_new(); + if (tmp == NULL) { goto out; } - if (dict_copy(tmp, lockinfo) == NULL) + if ((dict_unserialize(data[i]->data, data[i]->len, &tmp) != 0) || + (dict_copy(tmp, lockinfo) == NULL)) { dict_unref(tmp); -- cgit