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