platform/x86: alienware-wmi: fix kfree on potentially uninitialized pointer
authorColin Ian King <colin.king@canonical.com>
Sat, 30 Mar 2019 00:17:12 +0000 (00:17 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:50:39 +0000 (14:50 +0100)
commitb6cb6f9f785e560c8a8b6837662698dbd70a489c
treeab8232fdfd2a112eb6e0eed06df08c88ae70cfeb
parente60e2a29c891323445f05c33eccf4b78a9ec3989
platform/x86: alienware-wmi: fix kfree on potentially uninitialized pointer

[ Upstream commit 98e2630284ab741804bd0713e932e725466f2f84 ]

Currently the kfree of output.pointer can be potentially freeing
an uninitalized pointer in the case where out_data is NULL. Fix this
by reworking the case where out_data is not-null to perform the
ACPI status check and also the kfree of outpoint.pointer in one block
and hence ensuring the pointer is only freed when it has been used.

Also replace the if (ptr != NULL) idiom with just if (ptr).

Fixes: ff0e9f26288d ("platform/x86: alienware-wmi: Correct a memory leak")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/x86/alienware-wmi.c