mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
power: bq2415x_charger: Fix memory leak on DTS parsing error
Memory allocated for 'name' was leaking if required binding properties
were not present.
The memory for 'name' was allocated early at probe with kasprintf(). It
was freed in error paths executed before and after parsing DTS but not
in that error path.
Fix the error path for parsing device tree properties.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Fixes: faffd234cf ("bq2415x_charger: Add DT support")
Cc: <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
This commit is contained in:
parent
0eaf437aa1
commit
21e863b233
1 changed files with 6 additions and 6 deletions
|
|
@ -1609,27 +1609,27 @@ static int bq2415x_probe(struct i2c_client *client,
|
|||
ret = of_property_read_u32(np, "ti,current-limit",
|
||||
&bq->init_data.current_limit);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
ret = of_property_read_u32(np, "ti,weak-battery-voltage",
|
||||
&bq->init_data.weak_battery_voltage);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
ret = of_property_read_u32(np, "ti,battery-regulation-voltage",
|
||||
&bq->init_data.battery_regulation_voltage);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
ret = of_property_read_u32(np, "ti,charge-current",
|
||||
&bq->init_data.charge_current);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
ret = of_property_read_u32(np, "ti,termination-current",
|
||||
&bq->init_data.termination_current);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
ret = of_property_read_u32(np, "ti,resistor-sense",
|
||||
&bq->init_data.resistor_sense);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto error_2;
|
||||
} else {
|
||||
memcpy(&bq->init_data, pdata, sizeof(bq->init_data));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue