diff options
author | Florian Müllner <fmuellner@gnome.org> | 2019-02-19 00:20:45 +0100 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2019-02-19 09:05:38 +0100 |
commit | e16009c93cd0f51489a9cf9fa070486f2a7c8e77 (patch) | |
tree | b0c9d2a71f4b3ac3e4e1ca9e3093ba591a3fc04e | |
parent | 4dd76b69bb97e5e4dfbd5ea200ac07c66d9d6dec (diff) | |
download | libcroco-e16009c93cd0f51489a9cf9fa070486f2a7c8e77.tar.gz |
om-parser: Don't leak charset in error case
It is freed correctly if creating stmt2 fails, but leaked in case
of stmt. Adjust the code so that the cleanup is run for both cases.
Spotted by covscan.
https://gitlab.gnome.org/GNOME/libcroco/merge_requests/1
-rw-r--r-- | src/cr-om-parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cr-om-parser.c b/src/cr-om-parser.c index 348cd1f..4576199 100644 --- a/src/cr-om-parser.c +++ b/src/cr-om-parser.c @@ -318,8 +318,8 @@ charset (CRDocHandler * a_this, CRString * a_charset, charset = cr_string_dup (a_charset) ; stmt = cr_statement_new_at_charset_rule (ctxt->stylesheet, charset); - g_return_if_fail (stmt); - stmt2 = cr_statement_append (ctxt->stylesheet->statements, stmt); + if (stmt) + stmt2 = cr_statement_append (ctxt->stylesheet->statements, stmt); if (!stmt2) { if (stmt) { cr_statement_destroy (stmt); |