[ldv-project] [PATCH] farsync: fix invalid memory accesses in fst_add_one() and fst_init_card()

Alexey Khoroshilov khoroshilov at ispras.ru
Wed Jul 9 02:40:32 MSK 2014


On 08.07.2014 18:20, David Miller wrote:
> From: Alexey Khoroshilov <khoroshilov at ispras.ru>
> Date: Sat,  5 Jul 2014 03:35:50 +0400
>
>> -                }
>> +			card->nports = i;
>> +			return (card->nports == 0) ? err : 0;
>> +		}
> I don't think this is the right thing to do.
>
> This will cause the caller to not free the IRQ or any of the
> other resources.
My understanding of the existing code is to proceed if at least one port
is available.
So I return error code if no ports available at all, otherwise
initialization continues and can succeed.
If something else goes wrong, all resources are deallocated.

Do you suggest to return error code unconditionally?

--
Alexey




More information about the ldv-project mailing list