public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] eepromer/24cXX: fix leaking file descriptor
       [not found] ` <d53426eaec2f3212842b5a44a0fbc2d1c97f44e3.1335263046.git.npajkovs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2012-04-25  6:41   ` Jean Delvare
       [not found]     ` <20120425084126.317079a9-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Jean Delvare @ 2012-04-25  6:41 UTC (permalink / raw)
  To: Nikola Pajkovsky; +Cc: Linux I2C

Hi Nikola,

Patches for i2c-tools are better sent to the linux-i2c list,
redirecting.

On Tue, 24 Apr 2012 12:24:54 +0200, Nikola Pajkovsky wrote:
> Signed-off-by: Nikola Pajkovsky <npajkovs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
>  eepromer/24cXX.c |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/eepromer/24cXX.c b/eepromer/24cXX.c
> index 00a21fd..ab86c33 100644
> --- a/eepromer/24cXX.c
> +++ b/eepromer/24cXX.c
> @@ -79,9 +79,10 @@ int eeprom_open(char *dev_fqn, int addr, int type, struct eeprom* e)
>  		return -1;
>  
>  	// get funcs list
> -	if((r = ioctl(fd, I2C_FUNCS, &funcs) < 0))
> +	if((r = ioctl(fd, I2C_FUNCS, &funcs) < 0)) {
> +		close(fd);
>  		return r;
> -
> +	}
>  	
>  	// check for req funcs
>  	CHECK_I2C_FUNC( funcs, I2C_FUNC_SMBUS_READ_BYTE );

Good catch, however this function is leaking the same file descriptor
in 7 other cases (one obvious one plus six times in CHECK_I2C_FUNC.) If
we fix one, we should fix them all. I'd also be happy to get rid of
CHECK_I2C_FUNC as it exists, macro-generated code is evil. I see no
good reason why this couldn't be implemented as a regular function
instead.

Will you send updated patches, or do you want me to take care of these
changes?

Thanks,
-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] eepromer/24cXX: fix leaking file descriptor
       [not found]     ` <20120425084126.317079a9-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
@ 2012-04-25  7:50       ` Nikola Pajkovsky
  0 siblings, 0 replies; 2+ messages in thread
From: Nikola Pajkovsky @ 2012-04-25  7:50 UTC (permalink / raw)
  To: Jean Delvare; +Cc: Linux I2C

Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org> writes:

> Hi Nikola,
>
> Patches for i2c-tools are better sent to the linux-i2c list,
> redirecting.
>
> On Tue, 24 Apr 2012 12:24:54 +0200, Nikola Pajkovsky wrote:
>> Signed-off-by: Nikola Pajkovsky <npajkovs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>> ---
>>  eepromer/24cXX.c |    5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>> 
>> diff --git a/eepromer/24cXX.c b/eepromer/24cXX.c
>> index 00a21fd..ab86c33 100644
>> --- a/eepromer/24cXX.c
>> +++ b/eepromer/24cXX.c
>> @@ -79,9 +79,10 @@ int eeprom_open(char *dev_fqn, int addr, int type, struct eeprom* e)
>>  		return -1;
>>  
>>  	// get funcs list
>> -	if((r = ioctl(fd, I2C_FUNCS, &funcs) < 0))
>> +	if((r = ioctl(fd, I2C_FUNCS, &funcs) < 0)) {
>> +		close(fd);
>>  		return r;
>> -
>> +	}
>>  	
>>  	// check for req funcs
>>  	CHECK_I2C_FUNC( funcs, I2C_FUNC_SMBUS_READ_BYTE );
>
> Good catch, however this function is leaking the same file descriptor
> in 7 other cases (one obvious one plus six times in CHECK_I2C_FUNC.) If
> we fix one, we should fix them all. I'd also be happy to get rid of
> CHECK_I2C_FUNC as it exists, macro-generated code is evil. I see no
> good reason why this couldn't be implemented as a regular function
> instead.
>
> Will you send updated patches, or do you want me to take care of these
> changes?

aha, I didn't look at it so deeper. Nevertheless I'll prepare another
patches.

-- 
Nikola

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-04-25  7:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <d53426eaec2f3212842b5a44a0fbc2d1c97f44e3.1335263046.git.npajkovs@redhat.com>
     [not found] ` <d53426eaec2f3212842b5a44a0fbc2d1c97f44e3.1335263046.git.npajkovs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-04-25  6:41   ` [PATCH] eepromer/24cXX: fix leaking file descriptor Jean Delvare
     [not found]     ` <20120425084126.317079a9-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-04-25  7:50       ` Nikola Pajkovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox