summaryrefslogtreecommitdiffstats
path: root/usr.sbin/netgroup_mkdb
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1997-06-18 00:00:45 +0000
committerderaadt <deraadt@openbsd.org>1997-06-18 00:00:45 +0000
commita34018c64b0ccae84717e8865d49d3c25d4a77ea (patch)
tree9e4366ca3a34aa4eeffc8cd0d5b0ad181421e272 /usr.sbin/netgroup_mkdb
parentmem underflow (diff)
downloadwireguard-openbsd-a34018c64b0ccae84717e8865d49d3c25d4a77ea.tar.xz
wireguard-openbsd-a34018c64b0ccae84717e8865d49d3c25d4a77ea.zip
repair recursive map entry thingy; christos
Diffstat (limited to 'usr.sbin/netgroup_mkdb')
-rw-r--r--usr.sbin/netgroup_mkdb/netgroup_mkdb.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/usr.sbin/netgroup_mkdb/netgroup_mkdb.c b/usr.sbin/netgroup_mkdb/netgroup_mkdb.c
index 269f714c979..e561dbddee7 100644
--- a/usr.sbin/netgroup_mkdb/netgroup_mkdb.c
+++ b/usr.sbin/netgroup_mkdb/netgroup_mkdb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: netgroup_mkdb.c,v 1.5 1997/02/03 00:13:04 millert Exp $ */
+/* $OpenBSD: netgroup_mkdb.c,v 1.6 1997/06/18 00:00:45 deraadt Exp $ */
/*
* Copyright (c) 1994 Christos Zoulas
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
#ifndef lint
-static char *rcsid = "$OpenBSD: netgroup_mkdb.c,v 1.5 1997/02/03 00:13:04 millert Exp $";
+static char *rcsid = "$OpenBSD: netgroup_mkdb.c,v 1.6 1997/06/18 00:00:45 deraadt Exp $";
#endif
#include <sys/types.h>
@@ -366,14 +366,15 @@ ng_reventry(db, udb, fe, name, s, ss)
DBT key, data;
struct nentry *e;
struct netgroup *ng;
+ struct nentry *rfe;
char *p;
DB *xdb;
- if (_ng_sl_find(ss, name) != NULL) {
+ if (_ng_sl_find(ss, fe->n_name) != NULL) {
warnx("Cycle in netgroup `%s'", name);
return;
}
- _ng_sl_add(ss, name);
+ _ng_sl_add(ss, fe->n_name);
for (e = fe->n_next; e != NULL; e = e->n_next)
switch (e->n_type) {
@@ -407,8 +408,8 @@ ng_reventry(db, udb, fe, name, s, ss)
key.size = strlen(e->n_name) + 1;
switch ((db->get)(db, &key, &data, 0)) {
case 0:
- memcpy(&fe, data.data, sizeof(fe));
- ng_reventry(db, udb, fe, e->n_name, s, ss);
+ (void) memcpy(&rfe, data.data, sizeof(rfe));
+ ng_reventry(db, udb, rfe, name, s, ss);
break;
case 1: