projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perl plugin: Mark thread as running to avoid deadlock moved from perl_shutdown()...
[collectd.git]
/
src
/
curl_json.c
diff --git
a/src/curl_json.c
b/src/curl_json.c
index
5824431
..
4dab1ab
100644
(file)
--- a/
src/curl_json.c
+++ b/
src/curl_json.c
@@
-144,6
+144,9
@@
static int cj_get_type (cj_key_t *key)
{
const data_set_t *ds;
{
const data_set_t *ds;
+ if ((key == NULL) || !CJ_IS_KEY (key))
+ return -EINVAL;
+
ds = plugin_get_ds (key->type);
if (ds == NULL)
{
ds = plugin_get_ds (key->type);
if (ds == NULL)
{
@@
-227,12
+230,15
@@
static int cj_cb_number (void *ctx,
buffer[sizeof (buffer) - 1] = 0;
if ((key == NULL) || !CJ_IS_KEY (key)) {
buffer[sizeof (buffer) - 1] = 0;
if ((key == NULL) || !CJ_IS_KEY (key)) {
- if (key != NULL && !db->state[db->depth].in_array/*can be inhomogeneous*/)
+ if (key != NULL && !db->state[db->depth].in_array/*can be inhomogeneous*/)
{
NOTICE ("curl_json plugin: Found \"%s\", but the configuration expects"
" a map.", buffer);
NOTICE ("curl_json plugin: Found \"%s\", but the configuration expects"
" a map.", buffer);
+ return (CJ_CB_CONTINUE);
+ }
+
cj_cb_inc_array_index (ctx, /* update_key = */ 1);
key = db->state[db->depth].key;
cj_cb_inc_array_index (ctx, /* update_key = */ 1);
key = db->state[db->depth].key;
- if (
key == NULL
) {
+ if (
(key == NULL) || !CJ_IS_KEY (key)
) {
return (CJ_CB_CONTINUE);
}
}
return (CJ_CB_CONTINUE);
}
}