net: Fix one possible memleak in ip_setup_cork

[ Upstream commit 9783ccd0f2507cbe3c5ff1cb84bf6ae3a512d17d ]

It would allocate memory in this function when the cork->opt is NULL. But
the memory isn't freed if failed in the latter rt check, and return error
directly. It causes the memleak if its caller is ip_make_skb which also
doesn't free the cork->opt when meet a error.

Now move the rt check ahead to avoid the memleak.

Signed-off-by: Gao Feng <gfree.wind@vip.163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 9783ccd0f2507cbe3c5ff1cb84bf6ae3a512d17d)
[vegard: fix minor conflict]
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
1 file changed