1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-10 08:11:32 +00:00

Avoid copying link-layer header; point instead

This commit is contained in:
dmiller
2025-04-11 21:45:17 +00:00
parent 67ba648595
commit f4f5cba43d
2 changed files with 2 additions and 3 deletions

View File

@@ -237,7 +237,7 @@ typedef enum { devt_ethernet, devt_loopback, devt_p2p, devt_other } devtype;
struct link_header {
int datalinktype; /* pcap_datalink(), such as DLT_EN10MB */
int headerlen; /* 0 if header was too big or unavailaable */
u8 header[MAX_LINK_HEADERSZ];
const u8 *header;
};
/* Relevant (to Nmap) information about an interface */

View File

@@ -1554,8 +1554,7 @@ const u8 *readip_pcap(pcap_t *pd, unsigned int *len, long to_usec,
if (offset && linknfo) {
linknfo->datalinktype = datalink;
linknfo->headerlen = offset;
assert(offset <= MAX_LINK_HEADERSZ);
memcpy(linknfo->header, p - offset, MIN(sizeof(linknfo->header), offset));
linknfo->header = p;
}
if (rcvdtime)
PacketTrace::trace(PacketTrace::RCVD, (u8 *) p, *len,