projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-5.4' into collectd-5.5
[collectd.git]
/
src
/
utils_db_query.c
diff --git
a/src/utils_db_query.c
b/src/utils_db_query.c
index
893d590
..
9c84937
100644
(file)
--- a/
src/utils_db_query.c
+++ b/
src/utils_db_query.c
@@
-202,8
+202,9
@@
static int udb_result_submit (udb_result_t *r, /* {{{ */
assert (r != NULL);
assert (r_area->ds != NULL);
assert (((size_t) r_area->ds->ds_num) == r->values_num);
assert (r != NULL);
assert (r_area->ds != NULL);
assert (((size_t) r_area->ds->ds_num) == r->values_num);
+ assert (r->values_num > 0);
- vl.values = (value_t *) calloc (r
_area->ds->d
s_num, sizeof (value_t));
+ vl.values = (value_t *) calloc (r
->value
s_num, sizeof (value_t));
if (vl.values == NULL)
{
ERROR ("db query utils: malloc failed.");
if (vl.values == NULL)
{
ERROR ("db query utils: malloc failed.");
@@
-1071,10
+1072,9
@@
udb_query_allocate_preparation_area (udb_query_t *q) /* {{{ */
udb_result_preparation_area_t **next_r_area;
udb_result_t *r;
udb_result_preparation_area_t **next_r_area;
udb_result_t *r;
- q_area =
(udb_query_preparation_area_t *)
malloc (sizeof (*q_area));
+ q_area = malloc (sizeof (*q_area));
if (q_area == NULL)
return NULL;
if (q_area == NULL)
return NULL;
-
memset (q_area, 0, sizeof (*q_area));
next_r_area = &q_area->result_prep_areas;
memset (q_area, 0, sizeof (*q_area));
next_r_area = &q_area->result_prep_areas;
@@
-1082,14
+1082,18
@@
udb_query_allocate_preparation_area (udb_query_t *q) /* {{{ */
{
udb_result_preparation_area_t *r_area;
{
udb_result_preparation_area_t *r_area;
- r_area =
(udb_result_preparation_area_t *)
malloc (sizeof (*r_area));
+ r_area = malloc (sizeof (*r_area));
if (r_area == NULL)
{
if (r_area == NULL)
{
- for (r_area = q_area->result_prep_areas;
- r_area != NULL; r_area = r_area->next)
+ udb_result_preparation_area_t *a = q_area->result_prep_areas;
+
+ while (a != NULL)
{
{
- free (r_area);
+ udb_result_preparation_area_t *next = a->next;
+ sfree (a);
+ a = next;
}
}
+
free (q_area);
return NULL;
}
free (q_area);
return NULL;
}