summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2009-11-12 15:28:32 +0000
committerderaadt <deraadt@openbsd.org>2009-11-12 15:28:32 +0000
commitf5e7b55fb71345c682c6b3154a8515e37d08d3aa (patch)
tree73faeeaf21446510ce051fe4a9e5acc2932f7dc4
parentmemory leak found by parfait in an ioctl path, ok damien jsg (diff)
downloadwireguard-openbsd-f5e7b55fb71345c682c6b3154a8515e37d08d3aa.tar.xz
wireguard-openbsd-f5e7b55fb71345c682c6b3154a8515e37d08d3aa.zip
accessses 1 entry too far, found by parfait, ok jsg claudio
-rw-r--r--usr.sbin/snmpd/ber.c4
-rw-r--r--usr.sbin/ypldap/ber.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/snmpd/ber.c b/usr.sbin/snmpd/ber.c
index 7fa77082769..a0455c53b82 100644
--- a/usr.sbin/snmpd/ber.c
+++ b/usr.sbin/snmpd/ber.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ber.c,v 1.17 2009/06/04 18:03:07 jsg Exp $ */
+/* $OpenBSD: ber.c,v 1.18 2009/11/12 15:28:32 deraadt Exp $ */
/*
* Copyright (c) 2007 Reyk Floeter <reyk@vantronix.net>
@@ -702,7 +702,7 @@ ber_scanf_elements(struct ber_element *ber, char *fmt, ...)
if (ber->be_encoding != BER_TYPE_SEQUENCE &&
ber->be_encoding != BER_TYPE_SET)
goto fail;
- if (ber->be_sub == NULL || level >= _MAX_SEQ)
+ if (ber->be_sub == NULL || level >= _MAX_SEQ-1)
goto fail;
parent[++level] = ber;
ber = ber->be_sub;
diff --git a/usr.sbin/ypldap/ber.c b/usr.sbin/ypldap/ber.c
index c6d3ceb4acd..e916124c213 100644
--- a/usr.sbin/ypldap/ber.c
+++ b/usr.sbin/ypldap/ber.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ber.c,v 1.2 2009/06/04 18:03:07 jsg Exp $ */
+/* $OpenBSD: ber.c,v 1.3 2009/11/12 15:28:34 deraadt Exp $ */
/*
* Copyright (c) 2007 Reyk Floeter <reyk@vantronix.net>
@@ -702,7 +702,7 @@ ber_scanf_elements(struct ber_element *ber, char *fmt, ...)
if (ber->be_encoding != BER_TYPE_SEQUENCE &&
ber->be_encoding != BER_TYPE_SET)
goto fail;
- if (ber->be_sub == NULL || level >= _MAX_SEQ)
+ if (ber->be_sub == NULL || level >= _MAX_SEQ-1)
goto fail;
parent[++level] = ber;
ber = ber->be_sub;