mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-13 21:44:52 +00:00
ini: Do not crash on incorrect property value
When the value of the 'name_regexp' property is incorrect, the ini parser can crash. Pancake, of Radare2 fame, reported this one by email. Fixed thus. * src/abg-ini.cc (read_context::read_property_value): Do not dereference a null pointer to list property value. * tests/data/test-ini/test02-buggy-property-value.abignore: New test input. * tests/data/test-ini/test02-buggy-property-value.abignore.expected: Likewise. * tests/data/Makefile.am: Add the two new test inputs to source distribution. * tests/test-ini.cc (in_out_spec): Add the new test input pair to this test harness. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
d8e7c7ce6d
commit
1392a720a8
@ -1353,7 +1353,7 @@ public:
|
||||
}
|
||||
|
||||
list_property_value_sptr list = read_list_property_value();
|
||||
if (list->get_content().size() == 1)
|
||||
if (list && list->get_content().size() == 1)
|
||||
result.reset(new string_property_value(list->get_content()[0]));
|
||||
else
|
||||
result = list;
|
||||
|
@ -2328,6 +2328,8 @@ test-fedabipkgdiff/nss-util/nss-util-3.24.0-2.0.fc25.x86_64.rpm \
|
||||
\
|
||||
test-ini/test01-equal-in-property-string.abignore.expected \
|
||||
test-ini/test01-equal-in-property-string.abignore \
|
||||
test-ini/test02-buggy-property-value.abignore \
|
||||
test-ini/test02-buggy-property-value.abignore.expected \
|
||||
\
|
||||
test-kmi-whitelist/whitelist-with-single-entry \
|
||||
test-kmi-whitelist/whitelist-with-another-single-entry \
|
||||
|
2
tests/data/test-ini/test02-buggy-property-value.abignore
Normal file
2
tests/data/test-ini/test02-buggy-property-value.abignore
Normal file
@ -0,0 +1,2 @@
|
||||
[suppress_function]
|
||||
name_regexp = [
|
@ -48,6 +48,12 @@ InOutSpec in_out_specs[] =
|
||||
"output/test-ini/test01-equal-in-property-string.abignore",
|
||||
""
|
||||
}
|
||||
{
|
||||
"data/test-ini/test02-buggy-property-value.abignore",
|
||||
"data/test-ini/test02-buggy-property-value.abignore.expected",
|
||||
"output/test-ini/test02-buggy-property-value.abignore",
|
||||
""
|
||||
}
|
||||
,
|
||||
// This one must always remain the last one.
|
||||
{0, 0, 0, 0}
|
||||
|
Loading…
Reference in New Issue
Block a user