In canfd_rcv(), cfd->len is uninitialized when skb->len = 0, and this
uninitialized cfd->len is accessed nonetheless by pr_warn_once().
Fix this uninitialized variable access by checking cfd->len's validity
condition (cfd->len > CANFD_MAX_DLEN) separately after the skb->len's
condition is checked, and appropriately modify the log messages that
are generated as well.
In case either of the required conditions fail, the skb is freed and
NET_RX_DROP is returned, same as before.
Fixes:
|
||
|---|---|---|
| .. | ||
| j1939 | ||
| Kconfig | ||
| Makefile | ||
| af_can.c | ||
| af_can.h | ||
| bcm.c | ||
| gw.c | ||
| isotp.c | ||
| proc.c | ||
| raw.c | ||