[{"id":4439,"web_url":"https://patchwork.libcamera.org/comment/4439/","msgid":"<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","date":"2020-04-14T11:29:45","subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 13/04/2020 11:46, Umang Jain wrote:\n> Pointed out by Coverity DefectId=279091\n> \n\nLooking at testFile(), doesn't the fd also leak after the call to\nlogSetFile(path) if that fails?\n\nIf there is the same issue in multiple places in a function I think it\nshould be handled by a single patch.\n\n\nIt would be nice of course if these releases could be handled\nautomatically - so perhaps converting things to use FileDescriptor\nclasses might help, though an initial glance looks like that will always\ndup() the FD which might not be particularly desirable ...\n\nI'll leave it to you to decide, either rework to convert to\nFileDescriptor objects on a per-test basis, or just do a v2 of this\npatch with all paths fixed, perhaps for now just fixing this would make\ncoverity happy :-)\n\n--\nKieran\n\n\n\n> Signed-off-by: Umang Jain <email@uajain.com>\n> ---\n>  test/log/log_api.cpp | 1 +\n>  1 file changed, 1 insertion(+)\n> \n> diff --git a/test/log/log_api.cpp b/test/log/log_api.cpp\n> index 33622f8..aeedbf9 100644\n> --- a/test/log/log_api.cpp\n> +++ b/test/log/log_api.cpp\n> @@ -96,6 +96,7 @@ protected:\n>  \t\tlseek(fd, 0, SEEK_SET);\n>  \t\tif (read(fd, buf, sizeof(buf)) < 0) {\n>  \t\t\tcerr << \"Failed to read tmp log file\" << endl;\n> +\t\t\tclose(fd);\n>  \t\t\treturn TestFail;\n>  \t\t}\n>  \t\tclose(fd);\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A6C2860405\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 14 Apr 2020 13:29:48 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 28366521;\n\tTue, 14 Apr 2020 13:29:48 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"aDPX3AfO\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1586863788;\n\tbh=NbX7uDrQ0MLxumjdATxdUEKUzb90Bzz5a+qewr02Ffo=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=aDPX3AfOsKpehbhG1+liRcQfSTCE5XmpQcLSNyvCCFW7Ro3Wt41JVea2iKN8i4tJ2\n\tel/oDebGz4QyljjjdTiwkZkdvV15itjy+aPgxUNZ/kGx1PT0zkr8SGWvHbIpBoIT7M\n\tNocxj3JSJEKCySbK4yPtBMCrOyKytGhIXge8bTW0=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Umang Jain <email@uajain.com>, libcamera-devel@lists.libcamera.org","References":"<20200413104631.12276-1-email@uajain.com>\n\t<20200413104631.12276-4-email@uajain.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","Date":"Tue, 14 Apr 2020 12:29:45 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.9.1","MIME-Version":"1.0","In-Reply-To":"<20200413104631.12276-4-email@uajain.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 14 Apr 2020 11:29:48 -0000"}},{"id":4441,"web_url":"https://patchwork.libcamera.org/comment/4441/","msgid":"<TV5S8Q.I63XOD2I2MD41@uajain.com>","date":"2020-04-14T13:38:26","subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Kieran,\n\nOn Tue, Apr 14, 2020 at 12:29, Kieran Bingham \n<kieran.bingham@ideasonboard.com> wrote:\n> \n> Looking at testFile(), doesn't the fd also leak after the call to\n> logSetFile(path) if that fails?\n> \n> If there is the same issue in multiple places in a function I think it\n> should be handled by a single patch.\n> \nAh yes, nice catch. I missed to notice that.\n\n> \n> It would be nice of course if these releases could be handled\n> automatically - so perhaps converting things to use FileDescriptor\n> classes might help, though an initial glance looks like that will \n> always\n> dup() the FD which might not be particularly desirable ...\n> \n> I'll leave it to you to decide, either rework to convert to\n> FileDescriptor objects on a per-test basis, or just do a v2 of this\n> patch with all paths fixed, perhaps for now just fixing this would \n> make\n> coverity happy :-)\n\nI prefer to do a v2 of this patch right now. I think that porting \ntests/ to use FileDescriptor  itself is a\nself-contained task and should deserve a entire patchset.  We need to \nfirst investigate and analyze\na bit, as Laurent mentioned previously and extend FileDescriptor class \n(if required at the first place).","headers":{"Return-Path":"<bounces+15657259-5c31-libcamera-devel=lists.libcamera.org@em7280.uajain.com>","Received":["from o1.f.az.sendgrid.net (o1.f.az.sendgrid.net [208.117.55.132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0E8B560405\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 14 Apr 2020 15:38:28 +0200 (CEST)","by filter0073p3las1.sendgrid.net with SMTP id\n\tfilter0073p3las1-7488-5E95BCD2-111\n\t2020-04-14 13:38:26.990680227 +0000 UTC m=+1094814.269724252","from mail.uajain.com (unknown)\n\tby ismtpd0006p1hnd1.sendgrid.net (SG) with ESMTP\n\tid MJRhvmlXSDua_pwR-sUGYw Tue, 14 Apr 2020 13:38:26.573 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=uajain.com\n\theader.i=@uajain.com header.b=\"w9TPTGFr\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=uajain.com;\n\th=from:subject:in-reply-to:references:mime-version:to:cc:content-type;\n\ts=s1; bh=yQOsSIDAvC55cAV1CIr0mpF46cZSHj1onjybKwldF0I=;\n\tb=w9TPTGFrsOsDMtpKkPf44k5beDwj6CMDuq6iI8ishAHK60fKE8pGPeBg4DioHXBaO2cC\n\tkHmZYfi0oouyqvy6nTyvJ6e4ppga18F2j2vRU9O6Dv557nzwX5PWNaeCp0wzHjqwGFoIGU\n\tMBi60d7bYLBVLjIWpA6irFzk7rq4vldx4=","Date":"Tue, 14 Apr 2020 13:38:26 +0000 (UTC)","From":"Umang Jain <email@uajain.com>","Message-Id":"<TV5S8Q.I63XOD2I2MD41@uajain.com>","In-Reply-To":"<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","References":"<20200413104631.12276-1-email@uajain.com>\n\t<20200413104631.12276-4-email@uajain.com>\n\t<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","Mime-Version":"1.0","X-SG-EID":"1Q40EQ7YGir8a9gjSIAdTjhngY657NMk9ckeo4dbHZDiOpywc/L3L9rFqlwE4KPc+mYHlj5pFD2lBxsaGLVsOMfVjUCevyAyH0AjrNUg5pQhqNnmD6+clZzS1HGgsE03jX1+/xAJeFvOCppDuB6mO8o3uqOn6UHycvY05GUgd0r1kUtm24UY0XgIWhxZTxuls09nBOX1X8n7Whi42ViLWs82YGhAMoiFl3B8BnsXss0ABgONPel13I3QhA7nvB7T","To":"kieran.bingham@ideasonboard.com","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"=-b5E10dEp8BmGxUq2d7EN\"","Subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 14 Apr 2020 13:38:30 -0000"}},{"id":4442,"web_url":"https://patchwork.libcamera.org/comment/4442/","msgid":"<20200414134254.GG19819@pendragon.ideasonboard.com>","date":"2020-04-14T13:42:54","subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Tue, Apr 14, 2020 at 12:29:45PM +0100, Kieran Bingham wrote:\n> On 13/04/2020 11:46, Umang Jain wrote:\n> > Pointed out by Coverity DefectId=279091\n> \n> Looking at testFile(), doesn't the fd also leak after the call to\n> logSetFile(path) if that fails?\n> \n> If there is the same issue in multiple places in a function I think it\n> should be handled by a single patch.\n> \n> \n> It would be nice of course if these releases could be handled\n> automatically - so perhaps converting things to use FileDescriptor\n> classes might help, though an initial glance looks like that will always\n> dup() the FD which might not be particularly desirable ...\n\nI think this should migrate to File, not FileDescriptor, when that class\nwill have read/write/seek support.\n\n> I'll leave it to you to decide, either rework to convert to\n> FileDescriptor objects on a per-test basis, or just do a v2 of this\n> patch with all paths fixed, perhaps for now just fixing this would make\n> coverity happy :-)\n> \n> > Signed-off-by: Umang Jain <email@uajain.com>\n> > ---\n> >  test/log/log_api.cpp | 1 +\n> >  1 file changed, 1 insertion(+)\n> > \n> > diff --git a/test/log/log_api.cpp b/test/log/log_api.cpp\n> > index 33622f8..aeedbf9 100644\n> > --- a/test/log/log_api.cpp\n> > +++ b/test/log/log_api.cpp\n> > @@ -96,6 +96,7 @@ protected:\n> >  \t\tlseek(fd, 0, SEEK_SET);\n> >  \t\tif (read(fd, buf, sizeof(buf)) < 0) {\n> >  \t\t\tcerr << \"Failed to read tmp log file\" << endl;\n> > +\t\t\tclose(fd);\n> >  \t\t\treturn TestFail;\n> >  \t\t}\n> >  \t\tclose(fd);","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5558960405\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 14 Apr 2020 15:43:06 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B3C03521;\n\tTue, 14 Apr 2020 15:43:05 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"XQKL3iFh\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1586871785;\n\tbh=hjCwIK22zLdxG+KhcUmsWHScXiVgp/S6mzxm6U1eUA8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=XQKL3iFh9fIa3vOgGSM7yS4a8RKTOEBZCmGDjbv0e2TnS+oahRGwcuTrqdgtJcb/Q\n\teHr7AY2aQddcLXJ+DQVn0nJ8WmMdypnTQBpufNP92Hbh0nX7+5C7cWuu/jGUXGHB3w\n\tNqum1MHgIoaVG5RMelHYido97uV9hmS+YJTH5Kd0=","Date":"Tue, 14 Apr 2020 16:42:54 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Umang Jain <email@uajain.com>, libcamera-devel@lists.libcamera.org","Message-ID":"<20200414134254.GG19819@pendragon.ideasonboard.com>","References":"<20200413104631.12276-1-email@uajain.com>\n\t<20200413104631.12276-4-email@uajain.com>\n\t<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 14 Apr 2020 13:43:06 -0000"}},{"id":4443,"web_url":"https://patchwork.libcamera.org/comment/4443/","msgid":"<20200414134659.GH19819@pendragon.ideasonboard.com>","date":"2020-04-14T13:46:59","subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nOn Tue, Apr 14, 2020 at 01:38:26PM +0000, Umang Jain wrote:\n> On Tue, Apr 14, 2020 at 12:29, Kieran Bingham wrote:\n> > \n> > Looking at testFile(), doesn't the fd also leak after the call to\n> > logSetFile(path) if that fails?\n> > \n> > If there is the same issue in multiple places in a function I think it\n> > should be handled by a single patch.\n>\n> Ah yes, nice catch. I missed to notice that.\n> \n> > It would be nice of course if these releases could be handled\n> > automatically - so perhaps converting things to use FileDescriptor\n> > classes might help, though an initial glance looks like that will \n> > always\n> > dup() the FD which might not be particularly desirable ...\n> > \n> > I'll leave it to you to decide, either rework to convert to\n> > FileDescriptor objects on a per-test basis, or just do a v2 of this\n> > patch with all paths fixed, perhaps for now just fixing this would \n> > make\n> > coverity happy :-)\n> \n> I prefer to do a v2 of this patch right now. I think that porting\n> tests/ to use FileDescriptor  itself is a self-contained task and\n> should deserve a entire patchset.  We need to first investigate and\n> analyze a bit, as Laurent mentioned previously and extend\n> FileDescriptor class (if required at the first place).\n\nI agree with you for this patch. For 2/4, however, I'd like to move to\nFileDescriptor.","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 561E260405\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 14 Apr 2020 15:47:11 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B549F521;\n\tTue, 14 Apr 2020 15:47:10 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"X66o8IRD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1586872030;\n\tbh=ROMjBW1rPnHElOZoRQgA1jKU9xRCkmyFPC+sEo0SecE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=X66o8IRDbcd4bsmB/KYhwC7P/S/dm5YpfJu4RqlxeC2A/syBEziE07BVgAxscAIGq\n\taXuLkwbsrpt1TovP0ugBfiOTnqJNic5iFBGln8dDm/HEhrS2hwijZaBNLXn7uslPh8\n\t40hC1WTiOEFc8NLe6W7pWSlK9+Bw1NDQrJCLpiqY=","Date":"Tue, 14 Apr 2020 16:46:59 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <email@uajain.com>","Cc":"kieran.bingham@ideasonboard.com, libcamera-devel@lists.libcamera.org","Message-ID":"<20200414134659.GH19819@pendragon.ideasonboard.com>","References":"<20200413104631.12276-1-email@uajain.com>\n\t<20200413104631.12276-4-email@uajain.com>\n\t<38bdb44c-e1e4-ad77-321b-d912fce6bbf0@ideasonboard.com>\n\t<TV5S8Q.I63XOD2I2MD41@uajain.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<TV5S8Q.I63XOD2I2MD41@uajain.com>","Subject":"Re: [libcamera-devel] [PATCH 3/4] test: log: log_api: Close open\n\tfds on error paths","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 14 Apr 2020 13:47:11 -0000"}}]