fib_trie: Avoid NULL pointer if local table is not allocated
authorAlexander Duyck <alexander.h.duyck@redhat.com>
Thu, 12 Mar 2015 21:46:23 +0000 (14:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Mar 2015 22:26:51 +0000 (18:26 -0400)
commit3c9e9f7320f0138497ef7879c0903246746e0ed3
treeeea60b4c1788a31f550af86c8afccd9e616f9ebf
parent80f1d68ccba70b1060c9c7360ca83da430f66bed
fib_trie: Avoid NULL pointer if local table is not allocated

The function fib_unmerge assumed the local table had already been
allocated.  If that is not the case however when custom rules are applied
then this can result in a NULL pointer dereference.

In order to prevent this we must check the value of the local table pointer
and if it is NULL simply return 0 as there is no local table to separate
from the main.

Fixes: 0ddcf43d5 ("ipv4: FIB Local/MAIN table collapse")
Reported-by: Madhu Challa <challa@noironetworks.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_frontend.c