diff options
Diffstat (limited to 'src/erasurecode.c')
-rw-r--r-- | src/erasurecode.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/erasurecode.c b/src/erasurecode.c index 2d6d293..7f47149 100644 --- a/src/erasurecode.c +++ b/src/erasurecode.c @@ -581,6 +581,14 @@ int liberasurecode_decode(int desc, /* We were able to get the original data without decoding! */ goto out; } + if (ret == -EBADHEADER){ + /* currently, if the header of incomming fragments data corrupted, + * it may cause segmentaion fault during decoding process. + * Though, it might be good to determine if we can decode (or not) from + * the fragments but, for now, skip to decode and raise an error for this + * for safety */ + goto out; + } } /* |