aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/rtadvd
diff options
context:
space:
mode:
authorSUZUKI Shinsuke <suz@FreeBSD.org>2006-03-23 14:39:38 +0000
committerSUZUKI Shinsuke <suz@FreeBSD.org>2006-03-23 14:39:38 +0000
commit94182c08be73e712f6e48aced53d80e78a6e2ded (patch)
treef9bab8a7bdd603e7a4153e739e46ef58c206540d /usr.sbin/rtadvd
parented440ef6e41316d133fb0e6c6b2500e7a4f34479 (diff)
downloadsrc-94182c08be73e712f6e48aced53d80e78a6e2ded.tar.gz
src-94182c08be73e712f6e48aced53d80e78a6e2ded.zip
avoid heap overrun
Obtained from: KAME MFC after: 1 day
Notes
Notes: svn path=/head/; revision=157047
Diffstat (limited to 'usr.sbin/rtadvd')
-rw-r--r--usr.sbin/rtadvd/config.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/rtadvd/config.c b/usr.sbin/rtadvd/config.c
index 000cd3a610f3..4682e9843da9 100644
--- a/usr.sbin/rtadvd/config.c
+++ b/usr.sbin/rtadvd/config.c
@@ -656,7 +656,7 @@ get_prefix(struct rainfo *rai)
memcpy(&pp->prefix, a, sizeof(*a));
p = (u_char *)&pp->prefix;
ep = (u_char *)(&pp->prefix + 1);
- while (m < lim)
+ while (m < lim && p < ep)
*p++ &= *m++;
while (p < ep)
*p++ = 0x00;