On Fri, Oct 16, 2015 at 03:43:32PM +0100, Daniel P. Berrange wrote: > On Fri, Oct 16, 2015 at 04:36:23PM +0200, Christophe Fergeau wrote: > > While parsing the isoinfo files, we check if the current line starts > > with some prefix, but then we skip one byte more when we pass the string > > to osinfo_entity_set_param(). This accounts for a space which comes > > right after the prefix. > > It can happen that the line being parsed ends right after the prefix > > with no additional space, in which case we'd be accessing invalid memory > > when we try to skip the space. > > This commit adds the additional space to the prefix check, and uses > > strlen() rather than a hardcoded len when skipping the prefix later on. > > > > This fixes > > ==10921== Conditional jump or move depends on uninitialised value(s) > > ==10921== at 0x4C2BC29: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==10921== by 0x6A6B222: g_strdup (gstrfuncs.c:362) > > ==10921== by 0x553F4F2: osinfo_entity_set_param (osinfo_entity.c:190) > > ==10921== by 0x402716: load_iso (test-isodetect.c:141) > > ==10921== by 0x4029C7: load_distro (test-isodetect.c:203) > > ==10921== by 0x402B3E: load_distros (test-isodetect.c:250) > > ==10921== by 0x402C67: load_isos (test-isodetect.c:281) > > ==10921== by 0x40306E: test_one (test-isodetect.c:329) > > ==10921== by 0x4032E1: test_rhel (test-isodetect.c:367) > > ==10921== by 0x532B78A: ??? (in /usr/lib64/libcheck.so.0.0.0) > > ==10921== by 0x532BB7C: srunner_run (in /usr/lib64/libcheck.so.0.0.0) > > ==10921== by 0x403A4C: main (test-isodetect.c:490) > > --- > > test/test-isodetect.c | 24 ++++++++++++------------ > > 1 file changed, 12 insertions(+), 12 deletions(-) > > ACK to all 3 patches Thanks, pushed. Christophe
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo