浏览代码

net: qrtr: potential use after free in qrtr_sendmsg()

If skb_pad() fails then it frees the skb so we should check for errors.

Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dan Carpenter 8 年之前
父节点
当前提交
6f60f43810
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      net/qrtr/qrtr.c

+ 3 - 1
net/qrtr/qrtr.c

@@ -658,7 +658,9 @@ static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	}
 	}
 
 
 	if (plen != len) {
 	if (plen != len) {
-		skb_pad(skb, plen - len);
+		rc = skb_pad(skb, plen - len);
+		if (rc)
+			goto out_node;
 		skb_put(skb, plen - len);
 		skb_put(skb, plen - len);
 	}
 	}