X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/9169e4e1949c3fa879f0a2f98cfbd8c444743c27..refs/pull/1034/head:/print-arp.c diff --git a/print-arp.c b/print-arp.c index 4855332b..9c085029 100644 --- a/print-arp.c +++ b/print-arp.c @@ -64,7 +64,7 @@ struct arp_pkthdr { #define ARPOP_REVREPLY 4 /* response giving protocol address */ #define ARPOP_INVREQUEST 8 /* request to identify peer */ #define ARPOP_INVREPLY 9 /* response identifying peer */ -#define ARPOP_NAK 10 /* NAK - only valif for ATM ARP */ +#define ARPOP_NAK 10 /* NAK - only valid for ATM ARP */ /* * The remaining fields are variable in size, @@ -424,8 +424,16 @@ arp_print(netdissect_options *ndo, break; case ARPOP_REVREQUEST: - ND_PRINT("who-is %s tell %s", - GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)), + /* + * XXX - GET_LINKADDR_STRING() may return a pointer to + * a static buffer, so we only have one call to it per + * ND_PRINT() call. + * + * This should be done in a cleaner fashion. + */ + ND_PRINT("who-is %s", + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap))); + ND_PRINT(" tell %s", GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); break; @@ -436,8 +444,16 @@ arp_print(netdissect_options *ndo, break; case ARPOP_INVREQUEST: - ND_PRINT("who-is %s tell %s", - GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)), + /* + * XXX - GET_LINKADDR_STRING() may return a pointer to + * a static buffer, so we only have one call to it per + * ND_PRINT() call. + * + * This should be done in a cleaner fashion. + */ + ND_PRINT("who-is %s", + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap))); + ND_PRINT(" tell %s", GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); break;