Package: appstream / 1.0.6-2

Metadata

Package Version Patches format
appstream 1.0.6-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
01_validator_fix possible double dereference.patch | (download)

src/as-validator.c | 169 84 + 85 - 0 !
1 file changed, 84 insertions(+), 85 deletions(-)

 [patch] validator: fix possible double dereference of the same issue
 instance

When propagating desktop-file issues to the main issue list, we weren't
increasing the issue instance's refcount when adding it to the
id-mapping hashtable, which is wrong. So far, this was not a major issue
as the by-file map also held a reference, and both the by-id and by-file
hashtables are deleted together. Unfortunately, we delete the latter
first now, which creates this warning from GLib:

GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT
(object)' failed

Doing proper memory management fixes the issue and the destruction order
now no longer matters.
Autoformatting also made this code really hard to read, so this patch
also reduces its nesting level to make the code easier to understand.