فهرست منبع

iwlwifi: don't double free a pointer if no FW was found

In the very unlikely case in which no firmware could be,
found. the same pointer was freed twice. Fix that.

Fixes: 490fefebb6db ("iwlwifi: define the .ucode file format for debug")
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Emmanuel Grumbach 10 سال پیش
والد
کامیت
31a5a09c1c
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      drivers/net/wireless/iwlwifi/iwl-drv.c

+ 1 - 1
drivers/net/wireless/iwlwifi/iwl-drv.c

@@ -1323,10 +1323,10 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context)
 
 
  try_again:
  try_again:
 	/* try next, if any */
 	/* try next, if any */
-	kfree(pieces);
 	release_firmware(ucode_raw);
 	release_firmware(ucode_raw);
 	if (iwl_request_firmware(drv, false))
 	if (iwl_request_firmware(drv, false))
 		goto out_unbind;
 		goto out_unbind;
+	kfree(pieces);
 	return;
 	return;
 
 
  out_free_fw:
  out_free_fw: