From: Francois-Xavier Le Bail Date: Sun, 10 Dec 2023 19:28:10 +0000 (+0100) Subject: ISAKMP: Fix printing Delete payload SPI when size is zero X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/17712b2353a560754988bd88a07851a21cf74028 ISAKMP: Fix printing Delete payload SPI when size is zero Print Security Parameter Index(es) only if the SPI Size is non zero. --- diff --git a/print-isakmp.c b/print-isakmp.c index 57a481de..a0066aa9 100644 --- a/print-isakmp.c +++ b/print-isakmp.c @@ -1884,14 +1884,16 @@ ikev1_d_print(netdissect_options *ndo, u_char tpay _U_, ND_PRINT(" spilen=%u", spi_size); num_spi = GET_BE_U_2(p->num_spi); ND_PRINT(" nspi=%u", num_spi); - ND_PRINT(" spi="); q = (const uint8_t *)(p + 1); - for (i = 0; i < num_spi; i++) { - if (i != 0) - ND_PRINT(","); - if (!rawprint(ndo, (const uint8_t *)q, spi_size)) - goto trunc; - q += spi_size; + if (spi_size) { + ND_PRINT(" spi="); + for (i = 0; i < num_spi; i++) { + if (i != 0) + ND_PRINT(","); + if (!rawprint(ndo, (const uint8_t *)q, spi_size)) + goto trunc; + q += spi_size; + } } return q; trunc: