req.pdu.errstat = error;
u_char buffer[SNMP_REQUEST_SIZE];
int len = sizeof(buffer);
- snmp_build(&req.session, &req.pdu, buffer, &len);
- comm_udp_sendto(fd, req.address, buffer, len);
+ if (snmp_build(&req.session, &req.pdu, buffer, &len) == 0)
+ comm_udp_sendto(fd, req.address, buffer, len);
+ else
+ debugs(49, DBG_IMPORTANT, "ERROR: Failed to encode an error response to SNMP agent query from " << req.address);
}
void
u_char buffer[SNMP_REQUEST_SIZE];
int len = sizeof(buffer);
Snmp::Request& req = static_cast<Snmp::Request&>(*request);
- snmp_build(&req.session, &aggrPdu, buffer, &len);
- comm_udp_sendto(conn->fd, req.address, buffer, len);
+ if (snmp_build(&req.session, &aggrPdu, buffer, &len) == 0)
+ comm_udp_sendto(conn->fd, req.address, buffer, len);
+ else
+ debugs(49, DBG_IMPORTANT, "ERROR: Failed to encode a response to SNMP agent query from " << req.address);
}
snmp_free_pdu(rq->PDU);
if (RespPDU != nullptr) {
- snmp_build(&rq->session, RespPDU, rq->outbuf, &rq->outlen);
- comm_udp_sendto(rq->sock, rq->from, rq->outbuf, rq->outlen);
+ if (snmp_build(&rq->session, RespPDU, rq->outbuf, &rq->outlen) == 0)
+ comm_udp_sendto(rq->sock, rq->from, rq->outbuf, rq->outlen);
+ else
+ debugs(49, DBG_IMPORTANT, "ERROR: Failed to encode a response to SNMP agent query from " << rq->from);
snmp_free_pdu(RespPDU);
}
}