Browse Source

Fixed bug #32648 (PPP code crashes when terminating a link) by only calling sio_read_abort() if the file descriptor is valid.

STABLE-2_1_x
goldsimon 15 years ago
parent
commit
3f849848a4
  1. 4
      CHANGELOG
  2. 20
      src/netif/ppp/ppp.c

4
CHANGELOG

@ -233,6 +233,10 @@ HISTORY
++ Bugfixes:
2011-03-22: Simon Goldschmidt
* ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only
calling sio_read_abort() if the file descriptor is valid.
2011-03-14: Simon Goldschmidt
* err.h/.c, sockets.c, api_msg.c: fixed bug #31748 (Calling non-blocking connect
more than once can render a socket useless) since it mainly involves changing

20
src/netif/ppp/ppp.c

@ -344,7 +344,9 @@ static void
pppRecvWakeup(int pd)
{
PPPDEBUG(LOG_DEBUG, ("pppRecvWakeup: unit %d\n", pd));
sio_read_abort(pppControl[pd].fd);
if (pppControl[pd].openFlag != 0) {
sio_read_abort(pppControl[pd].fd);
}
}
#endif /* PPPOS_SUPPORT */
@ -681,20 +683,8 @@ pppClose(int pd)
void
pppSigHUP(int pd)
{
#if PPPOE_SUPPORT
PPPControl *pc = &pppControl[pd];
if(pc->ethif) {
PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
pppHup(pd);
} else
#endif /* PPPOE_SUPPORT */
{
#if PPPOS_SUPPORT
PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
pppHup(pd);
pppRecvWakeup(pd);
#endif /* PPPOS_SUPPORT */
}
PPPDEBUG(LOG_DEBUG, ("pppSigHUP: unit %d sig_hup -> pppHupCB\n", pd));
pppHup(pd);
}
#if PPPOS_SUPPORT

Loading…
Cancel
Save