diff mbox

iw: fix incorrect bit shifting in print_ht_mcs

Message ID 1372259260-7061-1-git-send-email-linville@tuxdriver.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

John W. Linville June 26, 2013, 3:07 p.m. UTC
From: "John W. Linville" <linville@tuxdriver.com>

From a Coverity run on version 3.10:

iw-3.10/util.c:569:result_independent_of_operands –
	"mcs[10] >> 8" is 0 regardless of the values of its operands. This occurs as the bitwise first operand of '&'.

This seems more like what was intended...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Johannes Berg June 26, 2013, 3:24 p.m. UTC | #1
On Wed, 2013-06-26 at 11:07 -0400, John W. Linville wrote:
> From: "John W. Linville" <linville@tuxdriver.com>
> 
> From a Coverity run on version 3.10:
> 
> iw-3.10/util.c:569:result_independent_of_operands –
> 	"mcs[10] >> 8" is 0 regardless of the values of its operands. This occurs as the bitwise first operand of '&'.
> 
> This seems more like what was intended...

Applied both, thanks.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/util.c b/util.c
index d8b76ee..e3d0c27 100644
--- a/util.c
+++ b/util.c
@@ -574,7 +574,7 @@  void print_ht_mcs(const __u8 *mcs)
 	unsigned int tx_max_num_spatial_streams, max_rx_supp_data_rate;
 	bool tx_mcs_set_defined, tx_mcs_set_equal, tx_unequal_modulation;
 
-	max_rx_supp_data_rate = ((mcs[10] >> 8) & ((mcs[11] & 0x3) << 8));
+	max_rx_supp_data_rate = (mcs[10] & ((mcs[11] & 0x3) << 8));
 	tx_mcs_set_defined = !!(mcs[12] & (1 << 0));
 	tx_mcs_set_equal = !(mcs[12] & (1 << 1));
 	tx_max_num_spatial_streams = ((mcs[12] >> 2) & 3) + 1;