mwifiex: fix potential buffer overflow in dt configuration
If cfgdata length exceeds the command buffer size we will end up getting buffer overflow problem. Fix it by checking the buffer size less the command header length. Reviewed-by: Paul Stewart <pstew@chromium.org> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
1cbbcb08c7
commit
63791ccd46
1 changed files with 3 additions and 2 deletions
|
@ -1170,8 +1170,9 @@ int mwifiex_dnld_dt_cfgdata(struct mwifiex_private *priv,
|
|||
strncmp(prop->name, prefix, len))
|
||||
continue;
|
||||
|
||||
/* property header is 6 bytes */
|
||||
if (prop && prop->value && prop->length > 6) {
|
||||
/* property header is 6 bytes, data must fit in cmd buffer */
|
||||
if (prop && prop->value && prop->length > 6 &&
|
||||
prop->length <= MWIFIEX_SIZE_OF_CMD_BUFFER - S_DS_GEN) {
|
||||
ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_CFG_DATA,
|
||||
HostCmd_ACT_GEN_SET, 0,
|
||||
prop);
|
||||
|
|
Loading…
Add table
Reference in a new issue