Skip to content
  • Eric Blake's avatar
    ba4dba54
    json-streamer: Don't leak tokens on incomplete parse · ba4dba54
    Eric Blake authored
    
    
    Valgrind complained about a number of leaks in
    tests/check-qobject-json:
    
    ==12657==    definitely lost: 17,247 bytes in 1,234 blocks
    
    All of which had the same root cause: on an incomplete parse,
    we were abandoning the token queue without cleaning up the
    allocated data within each queue element.  Introduced in
    commit 95385fe9, when we switched from QList (which recursively
    frees contents) to g_queue (which does not).
    
    We don't yet require glib 2.32 with its g_queue_free_full(),
    so open-code it instead.
    
    CC: qemu-stable@nongnu.org
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <1463608012-12760-1-git-send-email-eblake@redhat.com>
    Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    ba4dba54
    json-streamer: Don't leak tokens on incomplete parse
    Eric Blake authored
    
    
    Valgrind complained about a number of leaks in
    tests/check-qobject-json:
    
    ==12657==    definitely lost: 17,247 bytes in 1,234 blocks
    
    All of which had the same root cause: on an incomplete parse,
    we were abandoning the token queue without cleaning up the
    allocated data within each queue element.  Introduced in
    commit 95385fe9, when we switched from QList (which recursively
    frees contents) to g_queue (which does not).
    
    We don't yet require glib 2.32 with its g_queue_free_full(),
    so open-code it instead.
    
    CC: qemu-stable@nongnu.org
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <1463608012-12760-1-git-send-email-eblake@redhat.com>
    Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Loading