Bluetooth: fix return value check
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Sat, 14 Dec 2013 13:55:22 +0000 (21:55 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 14 Dec 2013 14:49:14 +0000 (06:49 -0800)
In case of error, the function bt_skb_alloc() returns NULL pointer
not ERR_PTR(). The IS_ERR() test in the return value check should
be replaced with NULL test.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/6lowpan.c

index 5d3bfd8..d84a377 100644 (file)
@@ -336,8 +336,8 @@ static inline int skbuff_copy(void *msg, int len, int count, int mtu,
                count = min_t(unsigned int, mtu, len);
 
                tmp = bt_skb_alloc(count, GFP_ATOMIC);
-               if (IS_ERR(tmp))
-                       return PTR_ERR(tmp);
+               if (!tmp)
+                       return -ENOMEM;
 
                *frag = tmp;
 
@@ -383,8 +383,8 @@ static struct sk_buff *create_pdu(struct l2cap_conn *conn, void *msg,
        BT_DBG("conn %p len %zu mtu %d count %d", conn, len, conn->mtu, count);
 
        skb = bt_skb_alloc(count + L2CAP_HDR_SIZE, GFP_ATOMIC);
-       if (IS_ERR(skb))
-               return skb;
+       if (!skb)
+               return ERR_PTR(-ENOMEM);
 
        skb->priority = priority;