net: rtl88xx: Fix stringop-overread warnings 80/292580/1
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 8 May 2023 03:36:41 +0000 (12:36 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 8 May 2023 11:50:04 +0000 (20:50 +0900)
Reading variable lenght from length 40 char array causes stringop-
overread build warnings. Fix the warnings by adjusting size with
min value.

Change-Id: I0661bd7f62cba127c965c429a5eccfce6b74fa82
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
drivers/net/wireless/rtl8188eu/core/rtw_br_ext.c
drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c
drivers/net/wireless/rtl8812au/core/rtw_br_ext.c

index 1236f50..ce7cc74 100644 (file)
@@ -93,6 +93,9 @@ static inline int __nat25_add_pppoe_tag(struct sk_buff *skb, struct pppoe_tag *t
                return -1;
        }
 
+       if (data_len > 40)
+               data_len = 40;
+
        skb_put(skb, data_len);
        /*  have a room for new tag */
        memmove(((unsigned char *)ph->tag + data_len), (unsigned char *)ph->tag, ntohs(ph->length));
index 2f84a38..96def9d 100644 (file)
@@ -114,6 +114,9 @@ static __inline__ int __nat25_add_pppoe_tag(struct sk_buff *skb, struct pppoe_ta
                return -1;
        }
 
+       if (data_len > 40)
+               data_len = 40;
+
        skb_put(skb, data_len);
        // have a room for new tag
        memmove(((unsigned char *)ph->tag + data_len), (unsigned char *)ph->tag, ntohs(ph->length));
index 9a0effd..3ef6de1 100644 (file)
@@ -110,6 +110,9 @@ static __inline__ int __nat25_add_pppoe_tag(struct sk_buff *skb, struct pppoe_ta
                return -1;
        }
 
+       if (data_len > 40)
+               data_len = 40;
+
        skb_put(skb, data_len);
        /* have a room for new tag */
        memmove(((unsigned char *)ph->tag + data_len), (unsigned char *)ph->tag, ntohs(ph->length));