Invalid read in test suite
From valgrind, on 91-nonzero-translation.svg
:
/rsvg-test/reftests/bugs/91-nonzero-translation.svg: ==9944== Invalid read of size 1
==9944== at 0x4C312B2: __strlen_sse2 (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9944== by 0x53F2758: std::ffi::c_str::CStr::from_ptr (c_str.rs:936)
==9944== by 0x4F60B9A: rsvg_internals::util::utf8_cstr (util.rs:26)
==9944== by 0x4F60C25: rsvg_internals::util::utf8_cstr_opt (util.rs:33)
==9944== by 0x4F462C9: rsvg_rust_cnode_new (cnode.rs:79)
==9944== by 0x4E9D02D: rsvg_new_filter_primitive_color_matrix (color_matrix.c:293)
==9944== by 0x4EC7C77: rsvg_load_new_node (load.rs:319)
==9944== by 0x4EAA1BF: standard_element_start (rsvg-load.c:326)
==9944== by 0x4EAA9EC: sax_start_element_cb (rsvg-load.c:601)
==9944== by 0x79E956F: xmlParseStartTag (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EE647: xmlParseElement (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EDB85: xmlParseContent (in /usr/lib64/libxml2.so.2.9.8)
==9944== Address 0x10308a60 is 0 bytes inside a block of size 15 free'd
==9944== at 0x4C2F2BB: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9944== by 0x5168914: <alloc::alloc::Global as core::alloc::GlobalAlloc>::dealloc (alloc.rs:61)
==9944== by 0x5168207: alloc::alloc::box_free (alloc.rs:132)
==9944== by 0x4EBC35E: core::ptr::drop_in_place (ptr.rs:59)
==9944== by 0x4EB90DD: core::ptr::drop_in_place (ptr.rs:59)
==9944== by 0x4EBD991: core::ptr::drop_in_place (ptr.rs:59)
==9944== by 0x4EC7BF1: rsvg_load_new_node (load.rs:310)
==9944== by 0x4EAA1BF: standard_element_start (rsvg-load.c:326)
==9944== by 0x4EAA9EC: sax_start_element_cb (rsvg-load.c:601)
==9944== by 0x79E956F: xmlParseStartTag (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EE647: xmlParseElement (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EDB85: xmlParseContent (in /usr/lib64/libxml2.so.2.9.8)
==9944== Block was alloc'd at
==9944== at 0x4C302AF: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9944== by 0x53F9895: realloc (alloc.rs:66)
==9944== by 0x53F9895: realloc (alloc.rs:95)
==9944== by 0x53F9895: try_reserve_exact<u8,alloc::alloc::Global> (raw_vec.rs:413)
==9944== by 0x53F9895: <alloc::raw_vec::RawVec<T, A>>::reserve_exact (raw_vec.rs:446)
==9944== by 0x53F1F4F: reserve_exact<u8> (vec.rs:489)
==9944== by 0x53F1F4F: from_vec_unchecked (c_str.rs:362)
==9944== by 0x53F1F4F: std::ffi::c_str::CString::_new (c_str.rs:337)
==9944== by 0x535A79F: std::ffi::c_str::CString::new (c_str.rs:331)
==9944== by 0x4F4E4F4: <str as glib::translate::ToGlibPtr<'a, *const i8>>::to_glib_none (translate.rs:333)
==9944== by 0x4EC7BC3: rsvg_load_new_node (load.rs:310)
==9944== by 0x4EAA1BF: standard_element_start (rsvg-load.c:326)
==9944== by 0x4EAA9EC: sax_start_element_cb (rsvg-load.c:601)
==9944== by 0x79E956F: xmlParseStartTag (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EE647: xmlParseElement (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EDB85: xmlParseContent (in /usr/lib64/libxml2.so.2.9.8)
==9944== by 0x79EE482: xmlParseElement (in /usr/lib64/libxml2.so.2.9.8)
==9944==
OK