rndis_wlan: copy only useful data from rndis_command respond
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Thu, 4 Mar 2010 16:27:02 +0000 (18:27 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 10 Mar 2010 22:44:24 +0000 (17:44 -0500)
commit80f8c5b434f94926c6489d7350d58aecb53ab70f
treebeff456b9ec9724b75d122383513faea91eb3e00
parenteae44756d60c4e938259358090dba5df675dced0
rndis_wlan: copy only useful data from rndis_command respond

rndis_query_oid() uses full output buffer size to copy response buffer
from rndis_command()/device. This doesn't cause problems as response buffer
is sized based on output buffer but does copy extra unset bytes.
So change rndis_query_oid() so that only meaningful bytes are being copied.

Also in case of malfunctioning device/cable/etc returned data offset from
device might be wrong so bound check memory access correctly, so add
checks for this.

v2: fixed to use new netdev_dbg/warn/etc instead of old devdbg/warn/etc

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rndis_wlan.c