X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fpyvalues.c;h=78e6cf9d450413ed242fb73e6126a09f4dd86057;hb=f2daf5deea1d50dbb834cffa0c8106b5456c9d82;hp=4a658d060219bdf17b083c6b00de92eab95e88fd;hpb=f2a6ed9f5064319ddc27292ab784e135bc955289;p=collectd.git diff --git a/src/pyvalues.c b/src/pyvalues.c index 4a658d06..78e6cf9d 100644 --- a/src/pyvalues.c +++ b/src/pyvalues.c @@ -419,7 +419,7 @@ static meta_data_t *cpy_build_meta(PyObject *meta) { meta_data_t *m = NULL; PyObject *l; - if (!meta) + if ((meta == NULL) || (meta == Py_None)) return NULL; l = PyDict_Items(meta); /* New reference. */ @@ -427,8 +427,13 @@ static meta_data_t *cpy_build_meta(PyObject *meta) { cpy_log_exception("building meta data"); return NULL; } - m = meta_data_create(); s = PyList_Size(l); + if (s <= 0) { + Py_XDECREF(l); + return NULL; + } + + m = meta_data_create(); for (i = 0; i < s; ++i) { const char *string, *keystring; PyObject *key, *value, *item, *tmp;