]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-json: add iszero_safe guards for float division at index 0 and 1
authorLuca Boccassi <luca.boccassi@gmail.com>
Sat, 11 Apr 2026 21:52:47 +0000 (22:52 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 13 Apr 2026 11:40:17 +0000 (12:40 +0100)
The existing iszero_safe guards at index 9 and 10 were added to
silence Coverity, but the same division-by-float-zero warning also
applies to the divisions at index 0 (DBL_MIN) and 1 (DBL_MAX).

CID#1587762

Follow-up for 7f133c996c8b1ea9219540ec8f966b64b58d30a6

(cherry picked from commit 44296e41db20b40d0b9a4cbe320d262ffdd8905d)

src/test/test-json.c

index ec3fd48b872da69b83c8dc5767eafe61e20d702a..016792b26c7e5340c1f178a5fb05ea2d3cfd3de3 100644 (file)
@@ -689,7 +689,9 @@ static void test_float_match(sd_json_variant *v) {
 
         assert_se(sd_json_variant_is_array(v));
         assert_se(sd_json_variant_elements(v) == 11);
+        assert_se(!iszero_safe(sd_json_variant_real(sd_json_variant_by_index(v, 0))));
         assert_se(fabs(1.0 - (DBL_MIN / sd_json_variant_real(sd_json_variant_by_index(v, 0)))) <= delta);
+        assert_se(!iszero_safe(sd_json_variant_real(sd_json_variant_by_index(v, 1))));
         assert_se(fabs(1.0 - (DBL_MAX / sd_json_variant_real(sd_json_variant_by_index(v, 1)))) <= delta);
         assert_se(sd_json_variant_is_null(sd_json_variant_by_index(v, 2))); /* nan is not supported by json → null */
         assert_se(sd_json_variant_is_null(sd_json_variant_by_index(v, 3))); /* +inf is not supported by json → null */