diff --git a/mt7915/mcu.c b/mt7915/mcu.c index 5327c1ff..682ee5c2 100644 --- a/mt7915/mcu.c +++ b/mt7915/mcu.c @@ -2952,6 +2952,11 @@ int mt7915_mcu_get_eeprom(struct mt7915_dev *dev, u32 offset, u8 *read_buf) return ret; res = (struct mt7915_mcu_eeprom_info *)skb->data; + if (skb->len < sizeof(*res)) { + dev_kfree_skb(skb); + return -EINVAL; + } + if (!buf) { u32 addr = le32_to_cpu(res->addr);