From c0f20bb2113597b30ec849efea6136923459ea3d Mon Sep 17 00:00:00 2001 From: dmiller Date: Fri, 17 Jul 2026 21:56:28 +0000 Subject: [PATCH] MACtoa: make return pointer const, use Snprintf vs sprintf --- nping/utils_net.cc | 8 ++------ nping/utils_net.h | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/nping/utils_net.cc b/nping/utils_net.cc index 245bd5794..9fc879cef 100644 --- a/nping/utils_net.cc +++ b/nping/utils_net.cc @@ -795,18 +795,14 @@ int parseMAC(const char *txt, u8 *targetbuff){ } /* End of parseMAC() */ - -char *MACtoa(u8 *mac){ +const char *MACtoa(u8 *mac){ static char macinfo[24]; - memset(macinfo, 0, 24); - sprintf(macinfo,"%02X:%02X:%02X:%02X:%02X:%02X", + Snprintf(macinfo, sizeof(macinfo), "%02X:%02X:%02X:%02X:%02X:%02X", mac[0],mac[1],mac[2],mac[3],mac[4],mac[5]); return macinfo; } /* End of MACtoa() */ - - /* Returns a buffer of ASCII information about an ARP/RARP packet that may look like "ARP who has 192.168.10.1? Tell 192.168.10.98" Since this is a static buffer, don't use threads or call twice diff --git a/nping/utils_net.h b/nping/utils_net.h index 3ed526e77..1de3751a5 100644 --- a/nping/utils_net.h +++ b/nping/utils_net.h @@ -101,7 +101,7 @@ struct hostent *gethostbynameCached(char *host); struct hostent *hostentcpy(struct hostent *src); int hostentfree(struct hostent *src); int parseMAC(const char *txt, u8 *targetbuff); -char *MACtoa(u8 *mac); +const char *MACtoa(u8 *mac); const char *getRandomTextPayload(); int send_packet(NpingTarget *target, int rawfd, u8 *pkt, size_t pktLen); int print_dnet_interface(const struct intf_entry *entry, void *arg) ;