Commit a4a12478 authored by Eytan Lifshitz's avatar Eytan Lifshitz Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: fix possible memory leak



In case of invalid section_id, the function returns after
it aleready allocated memory. Fixed by change the order of actions.

Signed-off-by: default avatarEytan Lifshitz <eytan.lifshitz@intel.com>
Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 3dd94794
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -367,16 +367,17 @@ static int iwl_mvm_read_external_nvm(struct iwl_mvm *mvm)
			break;
		}

		if (WARN(section_id >= NVM_NUM_OF_SECTIONS,
			 "Invalid NVM section ID %d\n", section_id)) {
			ret = -EINVAL;
			break;
		}

		temp = kmemdup(file_sec->data, section_size, GFP_KERNEL);
		if (!temp) {
			ret = -ENOMEM;
			break;
		}
		if (WARN_ON(section_id >= NVM_NUM_OF_SECTIONS)) {
			IWL_ERR(mvm, "Invalid NVM section ID\n");
			ret = -EINVAL;
			break;
		}
		mvm->nvm_sections[section_id].data = temp;
		mvm->nvm_sections[section_id].length = section_size;