This fixes a scan-build false-positive:
rbt_test.c:914:8: warning: Assigned value is garbage or undefined
node %= *names_count;
^ ~~~~~~~~~~~~
1 warning generated.
The remove_nodes() function is always called with correct arguments
(num_names is in <1;*names_count> range), so the modulo by zero cannot
happen, but nevertheless scan-build detects this and it's easy to fix.
UNUSED(mytree);
- for (i = 0; i < num_names; i++) {
+ for (i = 0; i < num_names && *names_count > 0; i++) {
uint32_t node;
dns_fixedname_t fname;
dns_name_t *name;
assert_int_equal(result, ISC_R_SUCCESS);
isc_mem_free(mctx, names[node]);
- if (*names_count > 0) {
- names[node] = names[*names_count - 1];
- names[*names_count - 1] = NULL;
- *names_count -= 1;
- }
+
+ names[node] = names[*names_count - 1];
+ names[*names_count - 1] = NULL;
+ *names_count -= 1;
}
}