Module Name:    src
Committed By:   joerg
Date:           Tue Aug  9 12:55:19 UTC 2011

Modified Files:
        src/external/apache2/mDNSResponder/dist/mDNSCore: DNSCommon.c
        src/sbin/ping: ping.c

Log Message:
Don't use array access to compute addresses that are definitely beyond
the static array boundaries.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c
cvs rdiff -u -r1.93 -r1.94 src/sbin/ping/ping.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c
diff -u src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c:1.1.1.1 src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c:1.2
--- src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c:1.1.1.1	Tue Sep 29 22:14:07 2009
+++ src/external/apache2/mDNSResponder/dist/mDNSCore/DNSCommon.c	Tue Aug  9 12:55:18 2011
@@ -2635,7 +2635,7 @@
 		case kDNSType_OPT:	{
 							rdataOPT *opt = rr->resrec.rdata->u.opt;
 							rr->resrec.rdlength = 0;
-							while (ptr < end && (mDNSu8 *)(opt+1) < &rr->resrec.rdata->u.data[MaximumRDSize])
+							while (ptr < end && (mDNSu8 *)(opt+1) < rr->resrec.rdata->u.data + MaximumRDSize)
 								{
 								if (ptr + 4 > end) { LogMsg("GetLargeResourceRecord: OPT RDATA ptr + 4 > end"); return(mDNSNULL); }
 								opt->opt    = getVal16(&ptr);

Index: src/sbin/ping/ping.c
diff -u src/sbin/ping/ping.c:1.93 src/sbin/ping/ping.c:1.94
--- src/sbin/ping/ping.c:1.93	Fri Mar 11 09:59:56 2011
+++ src/sbin/ping/ping.c	Tue Aug  9 12:55:19 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: ping.c,v 1.93 2011/03/11 09:59:56 pooka Exp $	*/
+/*	$NetBSD: ping.c,v 1.94 2011/08/09 12:55:19 joerg Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -58,7 +58,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: ping.c,v 1.93 2011/03/11 09:59:56 pooka Exp $");
+__RCSID("$NetBSD: ping.c,v 1.94 2011/08/09 12:55:19 joerg Exp $");
 #endif
 
 #include <stdio.h>
@@ -1069,8 +1069,8 @@
 		/* check the data */
 		if (datalen > (int)PHDR_LEN
 		    && !(pingflags & F_PING_RANDOM)
-		    && memcmp(&icp->icmp_data[PHDR_LEN],
-			    &opack_icmp.icmp_data[PHDR_LEN],
+		    && memcmp(icp->icmp_data + PHDR_LEN,
+			    opack_icmp.icmp_data + PHDR_LEN,
 			    datalen-PHDR_LEN)) {
 			for (i=PHDR_LEN; i<datalen; i++) {
 				if (icp->icmp_data[i] !=

Reply via email to