From: Aram Sargsyan Date: Thu, 15 Jan 2026 11:26:47 +0000 (+0000) Subject: Fix a false positive compiler warning/error X-Git-Tag: v9.21.18~27^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2994d2b1a2836f24e47a54a0d4c7449f822487b;p=thirdparty%2Fbind9.git Fix a false positive compiler warning/error When built with '-Doptimization=1', GCC produces a compiler warning: In file included from ../lib/isc/include/isc/lib.h:44, from ../tests/dns/qp_test.c:26: ../tests/dns/qp_test.c: In function ‘check_predecessors_withchain’: ../lib/isc/include/isc/util.h:182:33: error: ‘ival’ may be used uninitialized [-Werror=maybe-uninitialized] 182 | (((a) == (b)) ? (void)0 : (_assert_int_equal(a, b, f, l), abort())) | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/cmocka.h:1234:5: note: in expansion of macro ‘_assert_int_equal’ 1234 | _assert_int_equal(cast_to_largest_integral_type(a), \ | ^~~~~~~~~~~~~~~~~ ../tests/dns/qp_test.c:859:18: note: ‘ival’ was declared here 859 | uint32_t ival; | ^~~~ This is apparently a false positive, because the qpiter_prev_with_name() function, when returning ISC_R_SUCCESS, sets the 'ival' (passed to it by a pointer), and the caller checks that the return value is ISC_R_SUCCESS before using 'ival'. Initialize the 'ival' variable to 0 anyway to avoid the build error. --- diff --git a/tests/dns/qp_test.c b/tests/dns/qp_test.c index 945c19901f6..31d10e9501c 100644 --- a/tests/dns/qp_test.c +++ b/tests/dns/qp_test.c @@ -856,7 +856,7 @@ check_predecessors_withchain(dns_qp_t *qp, struct check_predecessors check[], dns_name_t *name = dns_fixedname_initname(&fn1); dns_name_t *pred = dns_fixedname_initname(&fn2); char *namestr = NULL; - uint32_t ival; + uint32_t ival = 0; for (int i = 0; check[i].query != NULL; i++) { dns_qpiter_t it;