*** print-bgp.c-new Tue Jul 3 15:51:15 2007 --- print-bgp.c-old Tue Jul 3 15:47:38 2007 *************** *** 666,678 **** EXTRACT_16BITS(pptr+10), EXTRACT_24BITS(pptr+12)>>4); /* the label is offsetted by 4 bits so lets shift it right */ pptr+=15; tlen-=15; /* ok now the variable part - lets read out TLVs*/ ! while (tlen>0 && strlen <= buflen) { if (tlen < 3) return -1; TCHECK2(pptr[0], 3); tlv_type=*pptr++; tlv_len=EXTRACT_16BITS(pptr); ttlv_len=tlv_len; --- 666,678 ---- EXTRACT_16BITS(pptr+10), EXTRACT_24BITS(pptr+12)>>4); /* the label is offsetted by 4 bits so lets shift it right */ pptr+=15; tlen-=15; /* ok now the variable part - lets read out TLVs*/ ! while (tlen>0) { if (tlen < 3) return -1; TCHECK2(pptr[0], 3); tlv_type=*pptr++; tlv_len=EXTRACT_16BITS(pptr); ttlv_len=tlv_len; *************** *** 681,693 **** switch(tlv_type) { case 1: strlen+=snprintf(buf+strlen,buflen-strlen, "\n\t\tcircuit status vector (%u) length: %u: 0x", tlv_type, tlv_len); ttlv_len=ttlv_len/8+1; /* how many bytes do we need to read ? */ ! while (ttlv_len>0 && strlen <= buflen) { TCHECK(pptr[0]); strlen+=snprintf(buf+strlen,buflen-strlen, "%02x",*pptr++); ttlv_len--; } break; default: --- 681,693 ---- switch(tlv_type) { case 1: strlen+=snprintf(buf+strlen,buflen-strlen, "\n\t\tcircuit status vector (%u) length: %u: 0x", tlv_type, tlv_len); ttlv_len=ttlv_len/8+1; /* how many bytes do we need to read ? */ ! while (ttlv_len>0) { TCHECK(pptr[0]); strlen+=snprintf(buf+strlen,buflen-strlen, "%02x",*pptr++); ttlv_len--; } break; default: