power: supply: cpcap-charger: Fix power_supply_put on null battery pointer
authorColin Ian King <colin.king@canonical.com>
Fri, 15 Jan 2021 13:15:24 +0000 (13:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:37:55 +0000 (11:37 +0100)
[ Upstream commit 39196cfe10dd2b46ee28b44abbc0db4f4cb7822f ]

Currently if the pointer battery is null there is a null pointer
dereference on the call to power_supply_put.  Fix this by only
performing the put if battery is not null.

Addresses-Coverity: ("Dereference after null check")
Fixes: 4bff91bb3231 ("power: supply: cpcap-charger: Fix missing power_supply_put()")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/power/supply/cpcap-charger.c

index 2c5f224..22fff01 100644 (file)
@@ -301,8 +301,9 @@ cpcap_charger_get_bat_const_charge_voltage(struct cpcap_charger_ddata *ddata)
                                &prop);
                if (!error)
                        voltage = prop.intval;
+
+               power_supply_put(battery);
        }
-       power_supply_put(battery);
 
        return voltage;
 }