summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorben <ben@FreeBSD.org>2001-06-23 18:07:18 +0000
committerben <ben@FreeBSD.org>2001-06-23 18:07:18 +0000
commitbfe3f93628386e0736234c2a1715d774106ab673 (patch)
treea97428de19b2f6da74a26d2708f78502cb2bc22a
parentb8c0fa4aba155281cef2563ff3efa2bd404bd50a (diff)
downloadFreeBSD-src-bfe3f93628386e0736234c2a1715d774106ab673.zip
FreeBSD-src-bfe3f93628386e0736234c2a1715d774106ab673.tar.gz
Don't dereference a pointer after freeing that pointer.
PR: 27990 Reviewed by: dd, phk Tested by: dd MFC after: 2 weeks
-rw-r--r--usr.sbin/ypbind/ypbind.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/ypbind/ypbind.c b/usr.sbin/ypbind/ypbind.c
index 5304422..e178f6a 100644
--- a/usr.sbin/ypbind/ypbind.c
+++ b/usr.sbin/ypbind/ypbind.c
@@ -394,7 +394,7 @@ char **argv;
int i;
DIR *dird;
struct dirent *dirp;
- struct _dom_binding *ypdb;
+ struct _dom_binding *ypdb, *next;
/* Check that another ypbind isn't already running. */
if ((yplockfd = (open(YPBINDLOCK, O_RDONLY|O_CREAT, 0444))) == -1)
@@ -493,7 +493,8 @@ char **argv;
syslog(LOG_WARNING, "select: %m");
break;
default:
- for(ypdb=ypbindlist; ypdb; ypdb=ypdb->dom_pnext) {
+ for(ypdb=ypbindlist; ypdb; ypdb=next) {
+ next = ypdb->dom_pnext;
if (READFD > 0 && FD_ISSET(READFD, &fdsr)) {
handle_children(ypdb);
if (children == (MAX_CHILDREN - 1))
OpenPOWER on IntegriCloud