diff options
-rw-r--r-- | xlators/cluster/ec/src/ec-combine.c | 2 | ||||
-rw-r--r-- | xlators/cluster/ec/src/ec-heal.c | 4 |
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; } |