projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8cf51f2
)
curl_xml plugin: Check the return value of “cx_evaluate_xpath”.
author
Florian Forster
<octo@huhu.verplant.org>
Mon, 11 Jan 2010 14:46:07 +0000
(15:46 +0100)
committer
Florian Forster
<octo@huhu.verplant.org>
Mon, 11 Jan 2010 14:46:07 +0000
(15:46 +0100)
src/curl_xml.c
patch
|
blob
|
history
diff --git
a/src/curl_xml.c
b/src/curl_xml.c
index
a8dbc1c
..
7805166
100644
(file)
--- a/
src/curl_xml.c
+++ b/
src/curl_xml.c
@@
-251,7
+251,6
@@
static int cx_submit_xpath_values (char *plugin_instance, /* {{{ */
xmlXPathObjectPtr base_node_obj = NULL;
xmlXPathObjectPtr instance_node_obj = NULL;
xmlXPathObjectPtr base_node_obj = NULL;
xmlXPathObjectPtr instance_node_obj = NULL;
- xmlXPathObjectPtr values_node_obj = NULL;
xmlNodeSetPtr base_nodes = NULL;
xmlNodeSetPtr instance_node = NULL;
xmlNodeSetPtr values_node = NULL;
xmlNodeSetPtr base_nodes = NULL;
xmlNodeSetPtr instance_node = NULL;
xmlNodeSetPtr values_node = NULL;
@@
-337,11
+336,16
@@
static int cx_submit_xpath_values (char *plugin_instance, /* {{{ */
xmlXPathFreeObject (instance_node_obj);
continue;
}
xmlXPathFreeObject (instance_node_obj);
continue;
}
- }
+ }
/* if (xpath->instance != NULL) */
for (j = 0; j < xpath->values_len; j++)
{
for (j = 0; j < xpath->values_len; j++)
{
+ xmlXPathObjectPtr values_node_obj;
+
values_node_obj = cx_evaluate_xpath (xpath_ctx, BAD_CAST xpath->values[j].path);
values_node_obj = cx_evaluate_xpath (xpath_ctx, BAD_CAST xpath->values[j].path);
+ if (values_node_obj == NULL)
+ continue; /* Error already logged. */
+
values_node = values_node_obj->nodesetval;
tmp_size = (values_node) ? values_node->nodeNr : 0;
values_node = values_node_obj->nodesetval;
tmp_size = (values_node) ? values_node->nodeNr : 0;