Re: [PATCH v2] prism54: prism54_get_encode() test below 0 on unsigned index

From: Roger While
Date: Sun Apr 27 2008 - 08:32:30 EST


Luis Rodriguez wrote :

The check for -1 seems silly lets just remove its use.

Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>

diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c
index 5b375b2..7e2d3b6 100644
--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -1158,7 +1158,7 @@ prism54_get_encode(struct net_device *ndev, struct iw_request_info *info,
{
islpci_private *priv = netdev_priv(ndev);
struct obj_key *key;
- u32 devindex, index = (dwrq->flags & IW_ENCODE_INDEX) - 1;
+ u32 devindex, index = (dwrq->flags & IW_ENCODE_INDEX);
u32 authen = 0, invoke = 0, exunencrypt = 0;
int rvalue;
union oid_res_t r;
@@ -1186,7 +1186,7 @@ prism54_get_encode(struct net_device *ndev, struct iw_request_info *info,
rvalue |= mgt_get_request(priv, DOT11_OID_DEFKEYID, 0, NULL, &r);
devindex = r.u;
/* Now get the key, return it */
- if (index == -1 || index > 3)
+ if (!index || index > 3)
/* no index provided, use the current one */
index = devindex;
rvalue |= mgt_get_request(priv, DOT11_OID_DEFKEYX, index, NULL, &r);

This does not look right to me. Should this not be -
if (!index || index > 4)
....
else
index -= 1;
(Or alternatively pass index -1 to mgt_get_request)

Also 5 lines further on we have -
/* return the used key index */
dwrq->flags |= devindex + 1;
which looks suspect.

Roger While

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/