diff options
author | brian <brian@FreeBSD.org> | 1998-08-02 13:01:16 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1998-08-02 13:01:16 +0000 |
commit | 76039265401440844e2b890ed20a14378596a974 (patch) | |
tree | e7c4bd9ce6ead472c649f3b4021818fec061867f /usr.sbin/ppp/server.c | |
parent | 2916928fb5566f8dfcd8aa8cd86476d568fb9d32 (diff) | |
download | FreeBSD-src-76039265401440844e2b890ed20a14378596a974.zip FreeBSD-src-76039265401440844e2b890ed20a14378596a974.tar.gz |
PR: 7469
Be careful that the current or next prompt in the list
that we're iterating through doesn't get changed by
descriptor_Read().
Diffstat (limited to 'usr.sbin/ppp/server.c')
-rw-r--r-- | usr.sbin/ppp/server.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/ppp/server.c b/usr.sbin/ppp/server.c index 3fb1de5..2a6ccfe7 100644 --- a/usr.sbin/ppp/server.c +++ b/usr.sbin/ppp/server.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: server.c,v 1.21 1998/06/24 19:33:36 brian Exp $ + * $Id: server.c,v 1.22 1998/06/27 14:18:10 brian Exp $ */ #include <sys/types.h> @@ -152,9 +152,13 @@ server_Read(struct descriptor *d, struct bundle *bundle, const fd_set *fdset) } } + log_PromptListChanged = 0; for (p = log_PromptList(); p; p = p->next) - if (descriptor_IsSet(&p->desc, fdset)) + if (descriptor_IsSet(&p->desc, fdset)) { descriptor_Read(&p->desc, bundle, fdset); + if (log_PromptListChanged) + break; + } } static int |