routing: fix crash caused by loopback
authorJanos Kovacs <jankovac503@gmail.com>
Wed, 3 Oct 2012 19:08:33 +0000 (22:08 +0300)
committerJanos Kovacs <jankovac503@gmail.com>
Wed, 3 Oct 2012 19:08:33 +0000 (22:08 +0300)
commit679b642e73d14b7a18d61fee5b1e4fd0283aedf3
treedab9af2601893759ae7be123444f93a242a870a3
parent63fe9c079384e0077a609118133384510f7cce77
routing: fix crash caused by loopback

The rtentry member in node struct was used either as a
listhead for routing entry list or as a link entry for the
list of default routed streams. However, looped back input nodes
behave both as device and stream nodes. As a result the same
rtentry was used improperly in two different linked list and
eventually lead to mysterious crashes. This problem is fixed
by adding a new list entry (rtprilist) to the node struct.
rtprilist is used to chain the default routed streams.
murphy/classify.c
murphy/node.c
murphy/node.h
murphy/router.c
murphy/router.h