Some routines return -1 on error; bail and return -1 if they do.
u_int16_t IDcnt, u_int16_t op_msk, int indent)
{
u_int i;
u_int16_t IDcnt, u_int16_t op_msk, int indent)
{
u_int i;
u_int32_t id;
char *ib = indent_pr(indent, 0);
u_int32_t id;
char *ib = indent_pr(indent, 0);
chk_op_type(type, op_msk, ops->op_msk);
chk_op_type(type, op_msk, ops->op_msk);
- rc = ops->print((const u_char *)pdtlv,
+ if (ops->print((const u_char *)pdtlv,
tll + pad + TLV_HDRL, op_msk,
tll + pad + TLV_HDRL, op_msk,
+ indent + 2) == -1)
+ return -1;
len -= (TLV_HDRL + pad + tll);
} else {
printf("Invalid path data content type 0x%x len %d\n",
len -= (TLV_HDRL + pad + tll);
} else {
printf("Invalid path data content type 0x%x len %d\n",
{
const struct forces_tlv *pdtlv = (struct forces_tlv *)pptr;
int tll;
{
const struct forces_tlv *pdtlv = (struct forces_tlv *)pptr;
int tll;
int invtlv;
u_int16_t type;
register const u_char *dp;
int invtlv;
u_int16_t type;
register const u_char *dp;
EXTRACT_16BITS(&pdtlv->length),
EXTRACT_16BITS(&pdtlv->length) - TLV_HDRL);
EXTRACT_16BITS(&pdtlv->length),
EXTRACT_16BITS(&pdtlv->length) - TLV_HDRL);
- rc = pdata_print(dp, tll, op_msk, indent + 1);
+ if (pdata_print(dp, tll, op_msk, indent + 1) == -1)
+ return -1;
pdtlv = GO_NXT_TLV(pdtlv, len);
}
pdtlv = GO_NXT_TLV(pdtlv, len);
}