diff options
author | ben <ben@FreeBSD.org> | 2001-06-23 18:07:18 +0000 |
---|---|---|
committer | ben <ben@FreeBSD.org> | 2001-06-23 18:07:18 +0000 |
commit | bfe3f93628386e0736234c2a1715d774106ab673 (patch) | |
tree | a97428de19b2f6da74a26d2708f78502cb2bc22a | |
parent | b8c0fa4aba155281cef2563ff3efa2bd404bd50a (diff) | |
download | FreeBSD-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.c | 5 |
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)) |