From 76039265401440844e2b890ed20a14378596a974 Mon Sep 17 00:00:00 2001 From: brian Date: Sun, 2 Aug 1998 13:01:16 +0000 Subject: 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(). --- usr.sbin/ppp/server.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'usr.sbin/ppp/server.c') 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 @@ -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 -- cgit v1.1