/* ok they seem to want to know everything - lets fully decode it */
if (ip_version == 1) {
- nsamples=GET_BE_U_4(sflow_datagram->samples);
+ nsamples = GET_BE_U_4(sflow_datagram->samples);
ND_PRINT("sFlowv%u, %s agent %s, agent-id %u, seqnum %u, uptime %u, samples %u, length %u",
GET_BE_U_4(sflow_datagram->version),
"IPv4",
len);
/* skip Common header */
+ ND_ICHECK_ZU(tlen, <, sizeof(struct sflow_datagram_t));
tptr += sizeof(struct sflow_datagram_t);
tlen -= sizeof(struct sflow_datagram_t);
} else {
- nsamples=GET_BE_U_4(sflow_v6_datagram->samples);
+ nsamples = GET_BE_U_4(sflow_v6_datagram->samples);
ND_PRINT("sFlowv%u, %s agent %s, agent-id %u, seqnum %u, uptime %u, samples %u, length %u",
GET_BE_U_4(sflow_v6_datagram->version),
"IPv6",
len);
/* skip Common header */
+ ND_ICHECK_ZU(tlen, <, sizeof(struct sflow_v6_datagram_t));
tptr += sizeof(struct sflow_v6_datagram_t);
tlen -= sizeof(struct sflow_v6_datagram_t);
}
sflow_sample_len);
/* basic sanity check */
- if (sflow_sample_type == 0 || sflow_sample_len ==0) {
+ if (sflow_sample_type == 0 || sflow_sample_len == 0) {
return;
}