mirror of
https://github.com/nmap/nmap.git
synced 2025-12-11 10:19:03 +00:00
Fix printing of UDP and SCTP IPv6 packets.
Unlike other protocols, these assumed an IP header length of sizeof(struct ip).
This commit is contained in:
@@ -2398,7 +2398,7 @@ if (hdr.version == 4) { /* IPv4 */
|
|||||||
} else if (hdr.proto == IPPROTO_UDP && frag_off) {
|
} else if (hdr.proto == IPPROTO_UDP && frag_off) {
|
||||||
Snprintf(protoinfo, sizeof(protoinfo), "UDP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo);
|
Snprintf(protoinfo, sizeof(protoinfo), "UDP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo);
|
||||||
} else if (hdr.proto == IPPROTO_UDP) {
|
} else if (hdr.proto == IPPROTO_UDP) {
|
||||||
udp = (struct udp_hdr *) (packet + sizeof(struct ip));
|
udp = (struct udp_hdr *) data;
|
||||||
/* TODO: See if we can segfault if we receive a fragmented packet whose IP packet does not say a thing about fragmentation */
|
/* TODO: See if we can segfault if we receive a fragmented packet whose IP packet does not say a thing about fragmentation */
|
||||||
|
|
||||||
|
|
||||||
@@ -2422,7 +2422,7 @@ if (hdr.version == 4) { /* IPv4 */
|
|||||||
} else if (hdr.proto == IPPROTO_SCTP && frag_off) {
|
} else if (hdr.proto == IPPROTO_SCTP && frag_off) {
|
||||||
Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo);
|
Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo);
|
||||||
} else if (hdr.proto == IPPROTO_SCTP) {
|
} else if (hdr.proto == IPPROTO_SCTP) {
|
||||||
sctp = (struct sctp_hdr *) (packet + sizeof(struct ip));
|
sctp = (struct sctp_hdr *) data;
|
||||||
|
|
||||||
if( detail == LOW_DETAIL ){
|
if( detail == LOW_DETAIL ){
|
||||||
Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:%d > %s:%d %s",
|
Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:%d > %s:%d %s",
|
||||||
|
|||||||
Reference in New Issue
Block a user