CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2019/06/21 11:11:43

Modified files:
        sys/net        : if_spppsubr.c route.c route.h rtable.c rtable.h 
                         rtsock.c 
        sys/netinet    : ip_mroute.c 
        sys/netinet6   : ip6_mroute.c nd6.h nd6_rtr.c 

Log message:
Prevent recursions by not deleting entries inside rtable_walk(9).

rtable_walk(9) now passes a routing entry back to the caller when
a non zero value is returned and if it asked for it.
This allows us to call rtdeletemsg()/rtrequest_delete() from the
caller without creating a recursion because of rtflushclone().

Multicast code hasn't been adapted and is still possibly creating
recursions.  However multicast route entries aren't cloned so if
a recursion exists it isn't because of rtflushclone().

Fix stack exhaustion triggered by the use of "-msave-args".

Issue reported by D??niel L??vai on bugs@ confirmed by and ok bluhm@.

Reply via email to