From: Julia Lawall <hidden> Date: 2012-08-18 21:26:22
From: Julia Lawall <redacted>
The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@
*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>
Signed-off-by: Julia Lawall <redacted>
---
drivers/net/wireless/ipw2x00/ipw2100.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -2042,7 +2042,8 @@ static void isr_indicate_associated(struct ipw2100_priv *priv, u32 status)return;}len=ETH_ALEN;-ipw2100_get_ordinal(priv,IPW_ORD_STAT_ASSN_AP_BSSID,&bssid,&len);+ret=ipw2100_get_ordinal(priv,IPW_ORD_STAT_ASSN_AP_BSSID,&bssid,+&len);if(ret){IPW_DEBUG_INFO("failed querying ordinals at line %d\n",__LINE__);--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
This is correct, but this line has one more typo. It should be
-&bssid
+bssid
according to the bssid definition in the beginning of the function:
u8 bssid[ETH_ALEN];
Could you fix this as well?
Thanks!
Stanislav.
From: Julia Lawall <hidden> Date: 2012-08-19 09:50:05
From: Julia Lawall <redacted>
The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.
Also changed &bssid to bssid, at the suggestion of Stanislav Yakovlev.
The semantic match that finds the first problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@
*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>
Signed-off-by: Julia Lawall <redacted>
---
v2: changed &bssid to bssid
drivers/net/wireless/ipw2x00/ipw2100.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
From: Stanislav Yakovlev <stas.yakovlev@gmail.com> Date: 2012-08-19 10:07:51
On 19 August 2012 13:49, Julia Lawall [off-list ref] wrote:
From: Julia Lawall <redacted>
The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.
Also changed &bssid to bssid, at the suggestion of Stanislav Yakovlev.
The semantic match that finds the first problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@
*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>
Signed-off-by: Julia Lawall <redacted>
---
v2: changed &bssid to bssid
Thank you, Julia.
Stanislav.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html