From: Rohit Thapliyal <r.thapli...@samsung.com>

np checked for NULL and then dereferenced. It should be modified
for NULL case.

Signed-off-by: Rohit Thapliyal <r.thapli...@samsung.com>
Signed-off-by: Manjeet Pawar <manjee...@samsung.com>
Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org>
Reviewed-by: Akhilesh Kumar <akhiles...@samsung.com>

---
v1->v2: Modified as per the suggestion of Hannes
        np ? np->autoflowlabel : ip6_default_np_autolabel(net)

 net/ipv6/ip6_output.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 59eb4ed..d734b5e 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -215,11 +215,14 @@ int ip6_xmit(const struct sock *sk, struct sk_buff *skb, 
struct flowi6 *fl6,
         */
        if (np)
                hlimit = np->hop_limit;
+
        if (hlimit < 0)
                hlimit = ip6_dst_hoplimit(dst);
 
-       ip6_flow_hdr(hdr, tclass, ip6_make_flowlabel(net, skb, fl6->flowlabel,
-                                                    np->autoflowlabel, fl6));
+       ip6_flow_hdr(hdr, tclass,
+               ip6_make_flowlabel(net, skb, fl6->flowlabel,
+                       np ? np->autoflowlabel : ip6_default_np_autolabel(net),
+                       fl6));
 
        hdr->payload_len = htons(seg_len);
        hdr->nexthdr = proto;
-- 
1.9.1

Reply via email to