lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 24 Nov 2016 16:11:57 +0530
From:   Manjeet Pawar <manjeet.p@...sung.com>
To:     davem@...emloft.net, kuznet@....inr.ac.ru, jmorris@...ei.org,
        yoshfuji@...ux-ipv6.org, kaber@...sh.net, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     pankaj.m@...sung.com, ajeet.y@...sung.com,
        Rohit Thapliyal <r.thapliyal@...sung.com>,
        Manjeet Pawar <manjeet.p@...sung.com>,
        Hannes Frederic Sowa <hannes@...essinduktion.org>
Subject: [PATCH v2] ipv6:ipv6_pinfo dereferenced after NULL check

From: Rohit Thapliyal <r.thapliyal@...sung.com>

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

Signed-off-by: Rohit Thapliyal <r.thapliyal@...sung.com>
Signed-off-by: Manjeet Pawar <manjeet.p@...sung.com>
Signed-off-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
Reviewed-by: Akhilesh Kumar <akhilesh.k@...sung.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ