summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-11-08 09:21:40 +0000
committerVincent Sanders <vince@netsurf-browser.org>2013-11-08 09:21:40 +0000
commit99029d301170bd21fcaa3a258d501a80d9483c25 (patch)
tree10146863ec2e39c02d1cdb4dc325c9b15ef5f550 /src
parentb16630faa11cac49a653b7913e6fbdca578b7430 (diff)
downloadlibdom-99029d301170bd21fcaa3a258d501a80d9483c25.tar.gz
libdom-99029d301170bd21fcaa3a258d501a80d9483c25.tar.bz2
fix error handling in walk_logic_adjacent_text() (coverity 1127084)
Diffstat (limited to 'src')
-rw-r--r--src/core/text.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/text.c b/src/core/text.c
index 0bf6322..e36050e 100644
--- a/src/core/text.c
+++ b/src/core/text.c
@@ -486,19 +486,18 @@ dom_exception walk_logic_adjacent_text(dom_text *text,
if (opt == COLLECT) {
dom_string *data = NULL, *tmp = NULL;
err = dom_characterdata_get_data(text, &data);
- if (err == DOM_NO_ERR) {
+ if (err != DOM_NO_ERR) {
dom_string_unref(*ret);
return err;
}
err = dom_string_concat(*ret, data, &tmp);
- if (err == DOM_NO_ERR) {
- dom_string_unref(*ret);
+ dom_string_unref(data);
+ dom_string_unref(*ret);
+ if (err != DOM_NO_ERR) {
return err;
}
- dom_string_unref(*ret);
- dom_string_unref(data);
*ret = tmp;
} else {
dom_node_internal *tn;