diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-27 16:36:05 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-27 16:36:05 +0000 |
commit | 08246ab54db9d46fe114f217c3026935bb7d9af2 (patch) | |
tree | b75bf82f1c83512eac0611121cde87f6c4953552 | |
parent | f2fa696c9672253cb7d117b60ffd662af1a6ff1d (diff) | |
download | libdom-08246ab54db9d46fe114f217c3026935bb7d9af2.tar.gz libdom-08246ab54db9d46fe114f217c3026935bb7d9af2.tar.bz2 |
Prevent attempt to concatinate string with null.
-rw-r--r-- | src/core/text.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/core/text.c b/src/core/text.c index e36050e..3b726fd 100644 --- a/src/core/text.c +++ b/src/core/text.c @@ -491,14 +491,18 @@ dom_exception walk_logic_adjacent_text(dom_text *text, return err; } - err = dom_string_concat(*ret, data, &tmp); - dom_string_unref(data); - dom_string_unref(*ret); - if (err != DOM_NO_ERR) { - return err; - } + if (*ret != NULL) { + err = dom_string_concat(*ret, data, &tmp); + dom_string_unref(data); + dom_string_unref(*ret); + if (err != DOM_NO_ERR) { + return err; + } - *ret = tmp; + *ret = tmp; + } else { + *ret = data; + } } else { dom_node_internal *tn; err = dom_node_remove_child(node->parent, node, |