X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsnmp.c;h=7caa625e6cb86704b215cb2fc0782a1525860122;hb=ec371b03a3efaa3dfe57f552fd523b8bc1d52a22;hp=e178d3a22c495b84d2108923f3ca266e6447aacb;hpb=3e4e90b633c79d398d7c10ec98463f3429f57aef;p=collectd.git diff --git a/src/snmp.c b/src/snmp.c index e178d3a2..7caa625e 100644 --- a/src/snmp.c +++ b/src/snmp.c @@ -771,8 +771,7 @@ static value_t csnmp_value_list_to_value (struct variable_list *vl, int type, tmp_unsigned = (uint32_t) *vl->val.integer; tmp_signed = (int32_t) *vl->val.integer; - if ((vl->type == ASN_INTEGER) - || (vl->type == ASN_GAUGE)) + if (vl->type == ASN_INTEGER) prefer_signed = 1; DEBUG ("snmp plugin: Parsed int32 value is %"PRIu64".", tmp_unsigned); @@ -1195,7 +1194,7 @@ static int csnmp_dispatch_table (host_definition_t *host, data_definition_t *dat static int csnmp_read_table (host_definition_t *host, data_definition_t *data) { struct snmp_pdu *req; - struct snmp_pdu *res; + struct snmp_pdu *res = NULL; struct variable_list *vb; const data_set_t *ds; @@ -1552,6 +1551,7 @@ static int csnmp_read_value (host_definition_t *host, data_definition_t *data) res = NULL; sfree (errstr); + sfree (vl.values); csnmp_host_close_session (host); return (-1);