2018-04-12 08:21:37

by Ajay Singh

[permalink] [raw]
Subject: [PATCH] staging: wilc1000: fix NULL pointer exception in host_int_parse_assoc_resp_info()

Commit fe014d4e6b55 (staging: wilc1000: free memory allocated for general info
message from firmware) introduced a bug by using wrong source address in
kmemdup(). 'conn_info.req_ies' is used for source address in kempdup()
instead of 'hif_drv->usr_conn_req.ies'.

This commit fixes the NULL pointer dereference issue in
host_int_parse_assoc_resp_info() by using the correct source address in
kmemdup().

Fixes: fe014d4e6b55 (staging: wilc1000: free memory allocated for
general info message from firmware)
Signed-off-by: Ajay Singh <[email protected]>
---
drivers/staging/wilc1000/host_interface.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
index 316d73c..302e3cb 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1387,7 +1387,7 @@ static inline void host_int_parse_assoc_resp_info(struct wilc_vif *vif,
}

if (hif_drv->usr_conn_req.ies) {
- conn_info.req_ies = kmemdup(conn_info.req_ies,
+ conn_info.req_ies = kmemdup(hif_drv->usr_conn_req.ies,
hif_drv->usr_conn_req.ies_len,
GFP_KERNEL);
if (conn_info.req_ies)
--
2.7.4


2018-04-23 14:42:42

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH] staging: wilc1000: fix NULL pointer exception in host_int_parse_assoc_resp_info()

Reviewed-by: Claudiu Beznea <[email protected]>

On 12.04.2018 10:21, Ajay Singh wrote:
> Commit fe014d4e6b55 (staging: wilc1000: free memory allocated for general info
> message from firmware) introduced a bug by using wrong source address in
> kmemdup(). 'conn_info.req_ies' is used for source address in kempdup()
> instead of 'hif_drv->usr_conn_req.ies'.
>
> This commit fixes the NULL pointer dereference issue in
> host_int_parse_assoc_resp_info() by using the correct source address in
> kmemdup().
>
> Fixes: fe014d4e6b55 (staging: wilc1000: free memory allocated for
> general info message from firmware)
> Signed-off-by: Ajay Singh <[email protected]>
> ---
> drivers/staging/wilc1000/host_interface.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
> index 316d73c..302e3cb 100644
> --- a/drivers/staging/wilc1000/host_interface.c
> +++ b/drivers/staging/wilc1000/host_interface.c
> @@ -1387,7 +1387,7 @@ static inline void host_int_parse_assoc_resp_info(struct wilc_vif *vif,
> }
>
> if (hif_drv->usr_conn_req.ies) {
> - conn_info.req_ies = kmemdup(conn_info.req_ies,
> + conn_info.req_ies = kmemdup(hif_drv->usr_conn_req.ies,
> hif_drv->usr_conn_req.ies_len,
> GFP_KERNEL);
> if (conn_info.req_ies)
>