diff options
author | 2009-11-12 15:28:32 +0000 | |
---|---|---|
committer | 2009-11-12 15:28:32 +0000 | |
commit | f5e7b55fb71345c682c6b3154a8515e37d08d3aa (patch) | |
tree | 73faeeaf21446510ce051fe4a9e5acc2932f7dc4 | |
parent | memory leak found by parfait in an ioctl path, ok damien jsg (diff) | |
download | wireguard-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.c | 4 | ||||
-rw-r--r-- | usr.sbin/ypldap/ber.c | 4 |
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; |