Browse Source

mwifiex: fix a possible double free issue

As drv_info_dump pointer doesn't get reset, we may end up
freeing the allocated memory twice.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Amitkumar Karwar 10 years ago
parent
commit
0769b27739
2 changed files with 2 additions and 0 deletions
  1. 1 0
      drivers/net/wireless/mwifiex/init.c
  2. 1 0
      drivers/net/wireless/mwifiex/main.c

+ 1 - 0
drivers/net/wireless/mwifiex/init.c

@@ -435,6 +435,7 @@ mwifiex_adapter_cleanup(struct mwifiex_adapter *adapter)
 
 
 	if (adapter->drv_info_dump) {
 	if (adapter->drv_info_dump) {
 		vfree(adapter->drv_info_dump);
 		vfree(adapter->drv_info_dump);
+		adapter->drv_info_dump = NULL;
 		adapter->drv_info_size = 0;
 		adapter->drv_info_size = 0;
 	}
 	}
 
 

+ 1 - 0
drivers/net/wireless/mwifiex/main.c

@@ -886,6 +886,7 @@ void mwifiex_dump_drv_info(struct mwifiex_adapter *adapter)
 
 
 	if (adapter->drv_info_dump) {
 	if (adapter->drv_info_dump) {
 		vfree(adapter->drv_info_dump);
 		vfree(adapter->drv_info_dump);
+		adapter->drv_info_dump = NULL;
 		adapter->drv_info_size = 0;
 		adapter->drv_info_size = 0;
 	}
 	}