diff options
author | Kota Tsuyuzaki <bloodeagle40234@gmail.com> | 2015-03-30 10:55:09 +0900 |
---|---|---|
committer | Kota Tsuyuzaki <bloodeagle40234@gmail.com> | 2015-03-30 11:01:56 +0900 |
commit | 309d7f1e4754ac448d8b098bd36287fa37a77475 (patch) | |
tree | 34045ca4d57df38d8a0a70e4b7f7389cb5280714 /test | |
parent | c10ec8a255eaca5c8637a46c3be4f22c707675c7 (diff) | |
download | liberasurecode-309d7f1e4754ac448d8b098bd36287fa37a77475.tar.gz |
Fix invalid metadata handling
On the current code, get_fragment_partition might touch the
invlid memory area with minus index (that means a invalid header)
and it causes segmentation fault.
This fixes it to handle the minus index as a EBADHEADER and then
no segmentaition fault appeared on the case.
Diffstat (limited to 'test')
-rw-r--r-- | test/liberasurecode_test.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/test/liberasurecode_test.c b/test/liberasurecode_test.c index d1ad516..83fa072 100644 --- a/test/liberasurecode_test.c +++ b/test/liberasurecode_test.c @@ -434,7 +434,8 @@ static void test_decode_invalid_args() rc = liberasurecode_decode(desc, avail_frags, num_avail_frags, strlen(fake_data), 1, &decoded_data, &decoded_data_len); - assert(rc == -EBADHEADER); + // force_metadata_checks results in EINSUFFFRAGS + assert(rc == -EINSUFFFRAGS); // test with num_fragments < (k) num_avail_frags = create_fake_frags_no_meta(&avail_frags, (null_args.k - 1), |