]> gitweb.michael.orlitzky.com - libsvgtiny.git/commitdiff
src/svgtiny_css.c free dom_string in svgtiny_dom_user_data_handler()
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 19 Oct 2024 20:46:51 +0000 (16:46 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 20 Oct 2024 21:39:37 +0000 (17:39 -0400)
This callback uses dom_string_create() for a comparison, but forgets
to call either dom_string_destroy() or dom_string_unref() after the
string has outlived its usefulness. The string is used one line after
it is created, so we find dom_string_destroy() to be more clear in
this case.

src/svgtiny_css.c

index 96991ddfcfcfe4684b9411709c44367b4651fa92..bbef58d3414c2667d24d67f589ce8f88f6f8c665 100644 (file)
@@ -1938,8 +1938,10 @@ static void svgtiny_dom_user_data_handler(dom_node_operation operation,
        dom_string_create((const uint8_t *)"_libcss_user_data", 17, &str);
        if (dom_string_isequal(str,key) == false || data == NULL) {
                /* Wrong key, or no data */
+               dom_string_destroy(str);
                return;
        }
+       dom_string_destroy(str);
 
        /* Check the DOM operation, and make the corresponding call to
         * css_libcss_node_data_handler(). No error handling is done.