2021-01-15 13:17:43

by Colin King

[permalink] [raw]
Subject: [PATCH][next] power: supply: cpcap-charger: Fix power_supply_put on null battery pointer

From: Colin Ian King <[email protected]>

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 <[email protected]>
---
drivers/power/supply/cpcap-charger.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
index 823d666f09e0..641dcad1133f 100644
--- a/drivers/power/supply/cpcap-charger.c
+++ b/drivers/power/supply/cpcap-charger.c
@@ -300,8 +300,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;
}
--
2.29.2


2021-01-15 13:28:21

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH][next] power: supply: cpcap-charger: Fix power_supply_put on null battery pointer

* Colin King <[email protected]> [210115 13:15]:
> From: Colin Ian King <[email protected]>
>
> 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 <[email protected]>

Oopsie, thanks for fixing it:

Acked-by: Tony Lindgren <[email protected]>


> drivers/power/supply/cpcap-charger.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
> index 823d666f09e0..641dcad1133f 100644
> --- a/drivers/power/supply/cpcap-charger.c
> +++ b/drivers/power/supply/cpcap-charger.c
> @@ -300,8 +300,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;
> }
> --
> 2.29.2
>

2021-01-15 14:35:53

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH][next] power: supply: cpcap-charger: Fix power_supply_put on null battery pointer

Hi,

On Fri, Jan 15, 2021 at 03:24:17PM +0200, Tony Lindgren wrote:
> * Colin King <[email protected]> [210115 13:15]:
> > From: Colin Ian King <[email protected]>
> >
> > 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 <[email protected]>
>
> Oopsie, thanks for fixing it:
>
> Acked-by: Tony Lindgren <[email protected]>

Thanks, queued.

-- Sebastian

> > drivers/power/supply/cpcap-charger.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
> > index 823d666f09e0..641dcad1133f 100644
> > --- a/drivers/power/supply/cpcap-charger.c
> > +++ b/drivers/power/supply/cpcap-charger.c
> > @@ -300,8 +300,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;
> > }
> > --
> > 2.29.2
> >


Attachments:
(No filename) (1.35 kB)
signature.asc (849.00 B)
Download all attachments