- isis_print_id(tptr + 1, SYSTEM_ID_LEN));
- }
-
- if (tlv_len == 2 * SYSTEM_ID_LEN + 1) {
- ND_TCHECK_LEN(tptr, 2 * SYSTEM_ID_LEN + 1);
- ND_PRINT("\n\t Received from System-ID: %s",
- isis_print_id(tptr + SYSTEM_ID_LEN + 1, SYSTEM_ID_LEN));
+ isis_print_id(ndo, tptr, SYSTEM_ID_LEN));
+ tptr += SYSTEM_ID_LEN;
+ tlen -= SYSTEM_ID_LEN;
+
+ if (num_system_ids > 1) {
+ if (tlen < SYSTEM_ID_LEN)
+ goto tlv_trunc;
+ ND_TCHECK_LEN(tptr, SYSTEM_ID_LEN);
+ ND_TCHECK_LEN(tptr, 2 * SYSTEM_ID_LEN + 1);
+ ND_PRINT("\n\t Received from System-ID: %s",
+ isis_print_id(ndo, tptr, SYSTEM_ID_LEN));
+ }