X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_daemon.c;h=0dc8e0b33f28c7f38be82cc513e727b26b92366e;hp=90629271e3478f1c7f4a9620e918c7d60b0373e3;hb=3e4e57c524ed5bbded8aa2a96cd99c5c26c980cf;hpb=bb124879717bdb65640cd50ce99e3569cb0a9a3f diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c index 9062927..0dc8e0b 100644 --- a/src/rrd_daemon.c +++ b/src/rrd_daemon.c @@ -1701,7 +1701,7 @@ static int handle_request_info (HANDLER_PROTO) /* {{{ */ { char *file, file_tmp[PATH_MAX]; int status; - rrd_info_t *data; + rrd_info_t *info; /* obtain filename */ status = buffer_get_field(&buffer, &buffer_size, &file); @@ -1714,11 +1714,11 @@ static int handle_request_info (HANDLER_PROTO) /* {{{ */ } /* get data */ rrd_clear_error (); - data = rrd_info_r(file); - if(!data) { + info = rrd_info_r(file); + if(!info) { return send_response(sock, RESP_ERR, "RRD Error: %s\n", rrd_get_error()); } - while (data) { + for (rrd_info_t *data = info; data != NULL; data = data->next) { switch (data->type) { case RD_I_VAL: if (isnan(data->value.u_val)) @@ -1739,8 +1739,10 @@ static int handle_request_info (HANDLER_PROTO) /* {{{ */ add_response_info(sock,"%s %d %lu\n", data->key, data->type, data->value.u_blo.size); break; } - data = data->next; } + + rrd_info_free(info); + return send_response(sock, RESP_OK, "Info for %s follows\n",file); } /* }}} static int handle_request_info */