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] !=