don't call ypdb_close() until after we're finished using data returned

by a previous ypdb_*() operation. seems to fix a problem noted in [bin/8064]
This commit is contained in:
lukem 1999-07-25 09:36:02 +00:00
parent 275da9fc4d
commit 7dc5b4fed5
2 changed files with 5 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: yppush.c,v 1.10 1999/01/11 22:40:01 kleink Exp $ */
/* $NetBSD: yppush.c,v 1.11 1999/07/25 09:36:02 lukem Exp $ */
/*
*
@ -182,7 +182,6 @@ main(argc, argv)
datum.dptr = YP_LAST_KEY;
datum.dsize = YP_LAST_LEN;
datum = ypdb_fetch(ypdb, datum);
ypdb_close(ypdb);
if (datum.dptr == NULL)
errx(1,
"unable to fetch %s key: check database with 'makedbm -u'",
@ -196,6 +195,7 @@ main(argc, argv)
ypi.order = (ypi.order * 10) + *cp - '0';
cp++;
}
ypdb_close(ypdb);
if (verbo)
printf("pushing %s [order=%d] in domain %s\n", ypi.map,

View File

@ -1,4 +1,4 @@
/* $NetBSD: ypxfr.c,v 1.8 1999/01/22 02:38:05 thorpej Exp $ */
/* $NetBSD: ypxfr.c,v 1.9 1999/07/25 09:36:02 lukem Exp $ */
/*
* Copyright (c) 1994 Mats O Jansson <moj@stacken.kth.se>
@ -33,7 +33,7 @@
#include <sys/cdefs.h>
#ifndef lint
__RCSID("$NetBSD: ypxfr.c,v 1.8 1999/01/22 02:38:05 thorpej Exp $");
__RCSID("$NetBSD: ypxfr.c,v 1.9 1999/07/25 09:36:02 lukem Exp $");
#endif
#include <sys/types.h>
@ -348,7 +348,6 @@ get_local_ordernum(domain, map, lordernum)
k.dsize = YP_LAST_LEN;
v = ypdb_fetch(db, k);
ypdb_close(db);
if (v.dptr == NULL)
*lordernum = 0;
@ -357,6 +356,7 @@ get_local_ordernum(domain, map, lordernum)
order[v.dsize] = '\0';
*lordernum = (u_int)atoi((char *)&order);
}
ypdb_close(db);
out:
if ((status == YPPUSH_NOMAP) || (status == YPPUSH_DBM)) {