summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2012-10-08 22:31:47 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2012-10-08 22:31:47 +0100
commit74687b5e942a71f4286121d0d2f0515cc3f3fc16 (patch)
tree244911b1dfcbdda67c9fe819d4e84f530d8378fd /src
parent52687feace9d5aabbea30f6ac6dffeb945591716 (diff)
downloadlibdom-74687b5e942a71f4286121d0d2f0515cc3f3fc16.tar.gz
libdom-74687b5e942a71f4286121d0d2f0515cc3f3fc16.tar.bz2
Close off two scan-build warnings as best as I can make out.
Diffstat (limited to 'src')
-rw-r--r--src/core/text.c12
-rw-r--r--src/html/html_element.c8
2 files changed, 14 insertions, 6 deletions
diff --git a/src/core/text.c b/src/core/text.c
index 94718a2..e84972a 100644
--- a/src/core/text.c
+++ b/src/core/text.c
@@ -473,8 +473,10 @@ dom_exception walk_logic_adjacent_text(dom_text *text,
/* Firstly, we look our left */
err = walk_logic_adjacent_text_in_order(left, opt, LEFT, ret, &cont);
if (err != DOM_NO_ERR) {
- dom_string_unref(*ret);
- *ret = NULL;
+ if (opt == COLLECT) {
+ dom_string_unref(*ret);
+ *ret = NULL;
+ }
return err;
}
@@ -508,8 +510,10 @@ dom_exception walk_logic_adjacent_text(dom_text *text,
/* Now, look right */
err = walk_logic_adjacent_text_in_order(right, opt, RIGHT, ret, &cont);
if (err != DOM_NO_ERR) {
- dom_string_unref(*ret);
- *ret = NULL;
+ if (opt == COLLECT) {
+ dom_string_unref(*ret);
+ *ret = NULL;
+ }
return err;
}
diff --git a/src/html/html_element.c b/src/html/html_element.c
index 9dc3155..5653d5b 100644
--- a/src/html/html_element.c
+++ b/src/html/html_element.c
@@ -353,8 +353,12 @@ dom_exception dom_html_element_get_int32_t_property(dom_html_element *ele,
if (err == DOM_NO_ERR) {
char *s3 = _strndup(dom_string_data(s2),
dom_string_byte_length(s2));
- *value = strtoul(s3, NULL, 0);
- free(s3);
+ if (s3 != NULL) {
+ *value = strtoul(s3, NULL, 0);
+ free(s3);
+ } else {
+ err = DOM_NO_MEM_ERR;
+ }
dom_string_unref(s2);
}
} else {