Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4c0e72e authored by David S. Miller's avatar David S. Miller
Browse files

ray_cs: Fix array bounds warnings.



rx_msg is defined to have a 1 entry array at the end, so gcc warns:

drivers/net/wireless/ray_cs.c: In function ‘rx_authenticate’:
drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2436:3: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2439:15: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2452:16: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2453:18: warning: array subscript is above array bounds [-Warray-bounds]
drivers/net/wireless/ray_cs.c:2453:32: warning: array subscript is above array bounds [-Warray-bounds]

Use a zero length array and rename to "ray_rx_msg" to make sure we hit all
of the necessary cases.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f4739840
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2426,7 +2426,7 @@ static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs,
			    unsigned int pkt_addr, int rx_len)
{
	UCHAR buff[256];
	struct rx_msg *msg = (struct rx_msg *)buff;
	struct ray_rx_msg *msg = (struct ray_rx_msg *) buff;

	del_timer(&local->timer);

@@ -2513,7 +2513,7 @@ static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs,
			      unsigned int pkt_addr, int rx_len)
{
/*  UCHAR buff[256];
    struct rx_msg *msg = (struct rx_msg *)buff;
    struct ray_rx_msg *msg = (struct ray_rx_msg *) buff;
*/
	pr_debug("Deauthentication frame received\n");
	local->authentication_state = UNAUTHENTICATED;
+2 −2
Original line number Diff line number Diff line
@@ -566,9 +566,9 @@ struct phy_header {
    UCHAR hdr_3;
    UCHAR hdr_4;
};
struct rx_msg {
struct ray_rx_msg {
    struct mac_header mac;
    UCHAR  var[1];
    UCHAR  var[0];
};

struct tx_msg {