Commit 8e41cae6 authored by YueHaibing's avatar YueHaibing Committed by Stefan Schmidt

ieee802154: ca8210: fix possible u8 overflow in ca8210_rx_done

gcc warning this:

drivers/net/ieee802154/ca8210.c:730:10: warning:
 comparison is always false due to limited range of data type [-Wtype-limits]

'len' is u8 type, we get it from buf[1] adding 2, which can overflow.
This patch change the type of 'len' to unsigned int to avoid this,also fix
the gcc warning.

Fixes: ded845a7 ("ieee802154: Add CA8210 IEEE 802.15.4 device driver")
Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
Signed-off-by: default avatarStefan Schmidt <stefan@datenfreihafen.org>
parent a73d4e14
...@@ -721,7 +721,7 @@ static void ca8210_mlme_reset_worker(struct work_struct *work) ...@@ -721,7 +721,7 @@ static void ca8210_mlme_reset_worker(struct work_struct *work)
static void ca8210_rx_done(struct cas_control *cas_ctl) static void ca8210_rx_done(struct cas_control *cas_ctl)
{ {
u8 *buf; u8 *buf;
u8 len; unsigned int len;
struct work_priv_container *mlme_reset_wpc; struct work_priv_container *mlme_reset_wpc;
struct ca8210_priv *priv = cas_ctl->priv; struct ca8210_priv *priv = cas_ctl->priv;
...@@ -730,7 +730,7 @@ static void ca8210_rx_done(struct cas_control *cas_ctl) ...@@ -730,7 +730,7 @@ static void ca8210_rx_done(struct cas_control *cas_ctl)
if (len > CA8210_SPI_BUF_SIZE) { if (len > CA8210_SPI_BUF_SIZE) {
dev_crit( dev_crit(
&priv->spi->dev, &priv->spi->dev,
"Received packet len (%d) erroneously long\n", "Received packet len (%u) erroneously long\n",
len len
); );
goto finish; goto finish;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment