[{"id":4449,"web_url":"https://patchwork.libcamera.org/comment/4449/","msgid":"<20200414221505.GS19819@pendragon.ideasonboard.com>","date":"2020-04-14T22:15:05","subject":"Re: [libcamera-devel] [PATCH 2/3] libcamera: camera: Exclude\n\tstreams whose configuration cannot be updated","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nThank you for the patch.\n\nOn Tue, Apr 14, 2020 at 07:06:58AM +0000, Umang Jain wrote:\n> This prevents a null-deference below in the loop.\n> \n> Pointed out by Coverity DefectId=279069\n> \n> Signed-off-by: Umang Jain <email@uajain.com>\n> ---\n>  src/libcamera/camera.cpp | 4 +++-\n>  1 file changed, 3 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\n> index 8c3bb2c..926e414 100644\n> --- a/src/libcamera/camera.cpp\n> +++ b/src/libcamera/camera.cpp\n> @@ -777,9 +777,11 @@ int Camera::configure(CameraConfiguration *config)\n>  \tp_->activeStreams_.clear();\n>  \tfor (const StreamConfiguration &cfg : *config) {\n>  \t\tStream *stream = cfg.stream();\n> -\t\tif (!stream)\n> +\t\tif (!stream) {\n>  \t\t\tLOG(Camera, Fatal)\n>  \t\t\t\t<< \"Pipeline handler failed to update stream configuration\";\n> +\t\t\tcontinue;\n\nNote that LOG(..., Fatal) calls std::abort(), so the program will\nterminate. We are however considering only doing so in debug builds, so\nfixing this issue is a good idea. However, I don't think such failure\nshould be ignored, the function should instead return an error\nimmediately. There may be a few things to cleanup before returning\nthough, to try and leave the Camera object in a valid state.\n\n> +\t\t}\n>  \n>  \t\tstream->configuration_ = cfg;\n>  \t\tp_->activeStreams_.insert(stream);","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C0EB160406\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 15 Apr 2020 00:15:17 +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 37BC1521;\n\tWed, 15 Apr 2020 00:15:17 +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=\"q6Y4YaSG\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1586902517;\n\tbh=WEUnCYgzezCn2IVnD1yitvtl+J7d1+TgsfWEq0xRXM8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=q6Y4YaSGoh5c+NthxI+yVrg2D61m2ZEwgAiFr0ZPu+Bh/h8pcXiF6KNRBHLJJbo8q\n\t4gosjqVQ9FWOefAyOItfNlpjec7luYifjlpRlaXyxcE4ivByGvNA4CTgJn59arp/+R\n\tmRGIaDfA50c/YxdBhnIy9LnRXMUvYvR959znBlMw=","Date":"Wed, 15 Apr 2020 01:15:05 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <email@uajain.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200414221505.GS19819@pendragon.ideasonboard.com>","References":"<20200414070642.22366-1-email@uajain.com>\n\t<20200414070642.22366-3-email@uajain.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200414070642.22366-3-email@uajain.com>","Subject":"Re: [libcamera-devel] [PATCH 2/3] libcamera: camera: Exclude\n\tstreams whose configuration cannot be updated","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 22:15:18 -0000"}}]