[ldv-project] [PATCH] iio: hid-sensors: Fix memory leak on failure path in hid_prox_probe()

Alexey Khoroshilov khoroshilov at ispras.ru
Thu May 7 02:13:57 MSK 2015


On 07.05.2015 01:32, Fabio Estevam wrote:
> On Wed, May 6, 2015 at 7:14 PM, Alexey Khoroshilov
> <khoroshilov at ispras.ru> wrote:
> 
>> Not exactly. Other calls are after
>>   indio_dev->channels = channels;
>> So,
>> error_free_dev_mem:
>>         kfree(indio_dev->channels);
>> works for them well.
> 
> indio_dev is allocated using devm_ , so you don't need to free it.
> 
> Your patch is not correct because you only  kfree(channels) in the
> prox_parse_report() error case, but you missed the other subsequent
> functions.
> 

No! The other subsequent functions are AFTER (prox_parse_report() error
case is the only BEFORE)
  indio_dev->channels = channels;

and all consequent error cases comes to error_free_dev_mem, where

error_free_dev_mem:
       kfree(indio_dev->channels);

that is equivalent to kfree(channels);

--
Alexey





More information about the ldv-project mailing list