Mercurial > ecos
changeset 2252:528ad6cc97bf
* src/ecos/support.c (cyg_netint): Don't handle events that don't
have handlers registered. Fixes Bug 1000046, whereby an assertion
or crash resulted from an ARP package arriving before network
initialization was complete.
| author | jlarmour |
|---|---|
| date | Wed, 19 Jul 2006 14:29:33 +0000 |
| parents | e711597543e5 |
| children | 84fb9d197d62 |
| files | packages/net/bsd_tcpip/current/ChangeLog packages/net/bsd_tcpip/current/src/ecos/support.c |
| diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/net/bsd_tcpip/current/ChangeLog +++ b/packages/net/bsd_tcpip/current/ChangeLog @@ -1,3 +1,10 @@ +2006-07-19 Philip Keller <keller@metrolab.ch> + + * src/ecos/support.c (cyg_netint): Don't handle events that don't + have handlers registered. Fixes Bug 1000046, whereby an assertion + or crash resulted from an ARP package arriving before network + initialization was complete. + 2006-06-14 Andy Jackson <andy@xylanta.com> * cdl/freebsd_net.cdl, src/ecos/support.c, src/ecos/support.c:
--- a/packages/net/bsd_tcpip/current/src/ecos/support.c +++ b/packages/net/bsd_tcpip/current/src/ecos/support.c @@ -726,8 +726,8 @@ cyg_netint(cyg_addrword_t param) spl = splsoftnet(); // Prevent any overlapping "stack" processing for (lvl = NETISR_MIN; lvl <= NETISR_MAX; lvl++) { if (curisr & (1<<lvl)) { - CYG_ASSERT(_netisr_handlers[lvl] != 0, "unregistered netisr handler"); - (*_netisr_handlers[lvl])(); + if (NULL != _netisr_handlers[lvl]) + (*_netisr_handlers[lvl])(); } } splx(spl);
