From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Delvare Subject: Re: [PATCH] eepromer/24cXX: fix leaking file descriptor Date: Wed, 25 Apr 2012 08:41:26 +0200 Message-ID: <20120425084126.317079a9@endymion.delvare> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Nikola Pajkovsky Cc: Linux I2C List-Id: linux-i2c@vger.kernel.org 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 > --- > 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