test-resv-mem: Fix CID 1523911
Coverity complains about passing "&expected" to "run_range_inverse_array", which dereferences null "expected". I guess the problem is that the compare_ranges() loop dereferences 'e' without testing it. However the loop condition is based on 'ranges' which is garanteed to have the same length as 'expected' given the g_assert_cmpint() just before the loop. So the code looks safe to me. Nevertheless adding a test on expected before the loop to get rid of the warning. Fixes: CID 1523901 Signed-off-by: Eric Auger <eric.auger@redhat.com> Reported-by: Coverity (CID 1523901) Message-ID: <20231110083654.277345-1-eric.auger@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
00ac955b06
commit
2e990d81d9
@ -44,6 +44,10 @@ static void compare_ranges(const char *prefix, GList *ranges,
|
|||||||
print_ranges("out", ranges);
|
print_ranges("out", ranges);
|
||||||
print_ranges("expected", expected);
|
print_ranges("expected", expected);
|
||||||
#endif
|
#endif
|
||||||
|
if (!expected) {
|
||||||
|
g_assert_true(!ranges);
|
||||||
|
return;
|
||||||
|
}
|
||||||
g_assert_cmpint(g_list_length(ranges), ==, g_list_length(expected));
|
g_assert_cmpint(g_list_length(ranges), ==, g_list_length(expected));
|
||||||
for (l = ranges, e = expected; l ; l = l->next, e = e->next) {
|
for (l = ranges, e = expected; l ; l = l->next, e = e->next) {
|
||||||
Range *r = (Range *)l->data;
|
Range *r = (Range *)l->data;
|
||||||
|
Loading…
Reference in New Issue
Block a user