Blob Blame History Raw
commit 4568188d77815697419c8d0b2c55bcbba7f65929
Author: Pete Zaitcev <zaitcev@kotori.zaitcev.us>
Date:   Wed Feb 5 23:26:31 2020 -0600

    Do not discard a technical return value in tests
    
    Compilers are getting smarter, and we started getting this:
    
    libec_slap.c: In function 'test_hd_code':
    libec_slap.c:285:14: error: 'frags.array' may be used uninitialized
     in this function [-Werror=maybe-uninitialized]
    
    The fix is to consume the error code in such a way that the
    test proceeds further only when frags are indeed initialized.
    
    Change-Id: I54db0172a36419206d00b22608523a08818f41f6

diff --git a/test/libec_slap.c b/test/libec_slap.c
index 78d34a2..5d029ea 100644
--- a/test/libec_slap.c
+++ b/test/libec_slap.c
@@ -280,8 +280,12 @@ static int test_hd_code(struct ec_args *args,
             }
             j++;
         }
-        create_frags_array_set(&frags,encoded_data, args->k, encoded_parity,
-                               args->m, mask);
+        rc = create_frags_array_set(&frags, encoded_data, args->k, 
+                                    encoded_parity, args->m, mask);
+        if (rc) {
+            fprintf(stderr, "No core\n");
+            exit(2);
+        }
         rc = liberasurecode_decode(desc, frags.array, frags.num_fragments,
                                    encoded_fragment_len, 1,
                                    &out_data, &out_data_len);
@@ -305,8 +309,12 @@ static int test_hd_code(struct ec_args *args,
             mi = mi + 1 % (args->k + args->m);
             mask = add_item_to_missing_mask(mask, mi);
         }
-        create_frags_array_set(&frags,encoded_data, args->k, encoded_parity,
-                               args->m, mask);
+        rc = create_frags_array_set(&frags, encoded_data, args->k,
+                                    encoded_parity, args->m, mask);
+        if (rc) {
+            fprintf(stderr, "No core\n");
+            exit(2);
+        }
         rc = liberasurecode_decode(desc, frags.array, frags.num_fragments,
                                    encoded_fragment_len, 1,
                                    &out_data, &out_data_len);