diff options
Diffstat (limited to 'net/snort/patches/patch-af')
-rw-r--r-- | net/snort/patches/patch-af | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/net/snort/patches/patch-af b/net/snort/patches/patch-af new file mode 100644 index 00000000000..8eb38678b07 --- /dev/null +++ b/net/snort/patches/patch-af @@ -0,0 +1,117 @@ +$NetBSD: patch-af,v 1.1 2005/09/14 12:46:52 adrianp Exp $ + +--- src/log.c.orig 2005-07-11 15:41:40.000000000 +0100 ++++ src/log.c 2005-08-23 16:52:19.000000000 +0100 +@@ -1478,7 +1478,10 @@ + { + for(j = 0; j < p->ip_options[i].len; j++) + { +- fprintf(fp, "%02X", p->ip_options[i].data[j]); ++ if (p->ip_options[i].data) ++ fprintf(fp, "%02X", p->ip_options[i].data[j]); ++ else ++ fprintf(fp, "%02X", 0); + + if((j % 2) == 0) + fprintf(fp, " "); +@@ -1522,7 +1525,8 @@ + case TCPOPT_MAXSEG: + bzero((char *) tmp, 5); + fwrite("MSS: ", 5, 1, fp); +- memcpy(tmp, p->tcp_options[i].data, 2); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 2); + fprintf(fp, "%u ", EXTRACT_16BITS(tmp)); + break; + +@@ -1535,15 +1539,20 @@ + break; + + case TCPOPT_WSCALE: +- fprintf(fp, "WS: %u ", p->tcp_options[i].data[0]); ++ if (p->tcp_options[i].data) ++ fprintf(fp, "WS: %u ", p->tcp_options[i].data[0]); ++ else ++ fprintf(fp, "WS: %u ", 0); + break; + + case TCPOPT_SACK: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 2); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 2); + fprintf(fp, "Sack: %u@", EXTRACT_16BITS(tmp)); + bzero((char *) tmp, 5); +- memcpy(tmp, (p->tcp_options[i].data) + 2, 2); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, (p->tcp_options[i].data) + 2, 2); + fprintf(fp, "%u ", EXTRACT_16BITS(tmp)); + break; + +@@ -1553,40 +1562,47 @@ + + case TCPOPT_ECHO: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "Echo: %u ", EXTRACT_32BITS(tmp)); + break; + + case TCPOPT_ECHOREPLY: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "Echo Rep: %u ", EXTRACT_32BITS(tmp)); + break; + + case TCPOPT_TIMESTAMP: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "TS: %u ", EXTRACT_32BITS(tmp)); + bzero((char *) tmp, 5); +- memcpy(tmp, (p->tcp_options[i].data) + 4, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, (p->tcp_options[i].data) + 4, 4); + fprintf(fp, "%u ", EXTRACT_32BITS(tmp)); + break; + + case TCPOPT_CC: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "CC %u ", EXTRACT_32BITS(tmp)); + break; + + case TCPOPT_CCNEW: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "CCNEW: %u ", EXTRACT_32BITS(tmp)); + break; + + case TCPOPT_CCECHO: + bzero((char *) tmp, 5); +- memcpy(tmp, p->tcp_options[i].data, 4); ++ if (p->tcp_options[i].data) ++ memcpy(tmp, p->tcp_options[i].data, 4); + fprintf(fp, "CCECHO: %u ", EXTRACT_32BITS(tmp)); + break; + +@@ -1598,7 +1614,10 @@ + + for(j = 0; j < p->tcp_options[i].len; j++) + { +- fprintf(fp, "%02X", p->tcp_options[i].data[j]); ++ if (p->tcp_options[i].data) ++ fprintf(fp, "%02X", p->tcp_options[i].data[j]); ++ else ++ fprintf(fp, "%02X", 0); + + if((j % 2) == 0) + fprintf(fp, " "); |