diff options
author | Florian Müllner <fmuellner@gnome.org> | 2019-02-19 01:00:26 +0100 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2019-02-19 09:05:38 +0100 |
commit | 1d7eb73aad96f5c297ff9859253cca4dea0a75dd (patch) | |
tree | 950f1c812429bd3883e2e6d1f2f9942f12b6fba0 | |
parent | 27f0d7f3a0615e0ccf5514545d3c8c5232d8c3fb (diff) | |
download | libcroco-1d7eb73aad96f5c297ff9859253cca4dea0a75dd.tar.gz |
statement: Fix string leaks in error case
Spotted by covscan.
https://gitlab.gnome.org/GNOME/libcroco/merge_requests/1
-rw-r--r-- | src/cr-statement.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cr-statement.c b/src/cr-statement.c index 00430d5..8463fcb 100644 --- a/src/cr-statement.c +++ b/src/cr-statement.c @@ -201,6 +201,8 @@ parse_page_property_cb (CRDocHandler * a_this, g_return_if_fail (name); decl = cr_declaration_new (stmt, name, a_expression); + if (!decl) + cr_string_destroy(name); g_return_if_fail (decl); decl->important = a_important; stmt->kind.page_rule->decl_list = @@ -327,6 +329,8 @@ parse_at_media_property_cb (CRDocHandler * a_this, g_return_if_fail (name); decl = cr_declaration_new (stmt, name, a_value); + if (!decl) + cr_string_destroy(name); g_return_if_fail (decl); decl->important = a_important; status = cr_statement_ruleset_append_decl (stmt, decl); @@ -434,6 +438,8 @@ parse_ruleset_property_cb (CRDocHandler * a_this, g_return_if_fail (stringue); decl = cr_declaration_new (ruleset, stringue, a_value); + if (!decl) + cr_string_destroy (stringue); g_return_if_fail (decl); decl->important = a_important; status = cr_statement_ruleset_append_decl (ruleset, decl); |