summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/cluster/ec/src/ec-combine.c2
-rw-r--r--xlators/cluster/ec/src/ec-heal.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/xlators/cluster/ec/src/ec-combine.c b/xlators/cluster/ec/src/ec-combine.c
index 2233caffdba..e4c660d9972 100644
--- a/xlators/cluster/ec/src/ec-combine.c
+++ b/xlators/cluster/ec/src/ec-combine.c
@@ -590,7 +590,7 @@ int32_t ec_dict_data_iatt(ec_cbk_data_t *cbk, int32_t which, char *key)
}
}
- if (stbuf->ia_type == IA_IFREG) {
+ if ((stbuf != NULL) && (stbuf->ia_type == IA_IFREG)) {
ec_iatt_rebuild(ec, stbuf, 1, cbk->count);
/* TODO: not sure if an iatt could come in xdata from a fop that takes
* no locks. */
diff --git a/xlators/cluster/ec/src/ec-heal.c b/xlators/cluster/ec/src/ec-heal.c
index 6b4c45fa370..c16b9c5c4fe 100644
--- a/xlators/cluster/ec/src/ec-heal.c
+++ b/xlators/cluster/ec/src/ec-heal.c
@@ -339,9 +339,13 @@ ec_char_array_to_mask (unsigned char *array, int numsubvols)
int i = 0;
uintptr_t mask = 0;
+ if (array == NULL)
+ goto out;
+
for (i = 0; i < numsubvols; i++)
if (array[i])
mask |= (1ULL<<i);
+out:
return mask;
}