{"id":18523,"url":"https://patchwork.libcamera.org/api/covers/18523/?format=json","web_url":"https://patchwork.libcamera.org/cover/18523/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20230404-guard-idmap-v2-0-444d135b3895@baylibre.com>","date":"2023-04-05T08:14:29","name":"[libcamera-devel,v2,0/2] libcamera: controls: guard ControlInfoMap against nullptr idmap_","submitter":{"id":153,"url":"https://patchwork.libcamera.org/api/people/153/?format=json","name":"Mattijs Korpershoek","email":"mkorpershoek@baylibre.com"},"mbox":"https://patchwork.libcamera.org/cover/18523/mbox/","series":[{"id":3836,"url":"https://patchwork.libcamera.org/api/series/3836/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3836","date":"2023-04-05T08:14:29","name":"libcamera: controls: guard ControlInfoMap against nullptr idmap_","version":2,"mbox":"https://patchwork.libcamera.org/series/3836/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/18523/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 36660C0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Apr 2023 08:14:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 71B3F6274B;\n\tWed,  5 Apr 2023 10:14:42 +0200 (CEST)","from mail-wm1-x330.google.com (mail-wm1-x330.google.com\n\t[IPv6:2a00:1450:4864:20::330])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5103561EC4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Apr 2023 10:14:40 +0200 (CEST)","by mail-wm1-x330.google.com with SMTP id\n\tn9-20020a05600c4f8900b003f05f617f3cso2313185wmq.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 05 Apr 2023 01:14:40 -0700 (PDT)","from [192.168.1.20] ([2a01:cb19:85e6:1900:2bf7:7388:731d:c4e1])\n\tby smtp.gmail.com with ESMTPSA id\n\tp11-20020a05600c1d8b00b003ef36ef3833sm1403957wms.8.2023.04.05.01.14.39\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 05 Apr 2023 01:14:39 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1680682482;\n\tbh=U3PcX0L/nk8X0Me0rlM6BlzlT0aDC/VUuS+OKdYnGgM=;\n\th=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=01HJh8cc2RdD2Y9bf9mkkMEFT8y5mWvVIWEU0v9aTL7jzqvfbbZNScIx2hcDJvTd2\n\tlKoBjgSAfvC6x/zcT/uxFTtNNXb91i4QMQgfoY+2Gnt64c5KWKDmzfZdeGDDYs4Puj\n\ttWvMLWgtx0oaZTBd5oCK+a7+VuW6q6nqEp6Pw6V+p2Au0WQK8a/p5bJBV94OcOiZA3\n\tLvFM5oLzo/NcsZibDV1tch+2J2L6zNE4PQqGgvn2v3EyzWZ2BAu2H7m/RkGzJbeSNQ\n\tLplIvr9lEdv1qRcm8jdlU+h+Eft9JonPjI03WBXpK0NJoS58w3sBdZxkDQi2k4QFbV\n\tiN0TUNrurk1Zg==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=baylibre-com.20210112.gappssmtp.com; s=20210112; t=1680682480;\n\th=cc:to:content-transfer-encoding:mime-version:message-id:date\n\t:subject:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=ZpbdeI/iOVqVQHmZBLu5OtZko5kp/wMtUCT5GCC8CeI=;\n\tb=1wcH2BGc7fm6eaZtRqNTqG+SbDr7Kj87JKo7H9LXmJAcCptdVhusvqdKEzbvWcyI5+\n\t3Xq9d9WnuGL5MtAJT/GRPPNYuRDZorvdyKCMV8ZIPpAkyIEm0JvKw804WS1XMJXSSJ1r\n\tOvmNVBJu6hwz/4oaxDKM2CxKVcO7C0GRRP5AKm3R+SPMSolAQc0IZu0+n2JIYq0dxSEZ\n\th3pzXhUMH43ow++rpfcu8FW0z5tnjypQ4HVSXQnI9JWCnVHM2pD0r0UQl7e7RBmLkKuh\n\t6Sbs2DzQ0nLRF32VPihTrAdG0+ngPeqgWQ5+my9dxRvMkl8fcvTG5wdlxGAs3q4E7V/6\n\tR0tA=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=baylibre-com.20210112.gappssmtp.com\n\theader.i=@baylibre-com.20210112.gappssmtp.com header.b=\"1wcH2BGc\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112; t=1680682480;\n\th=cc:to:content-transfer-encoding:mime-version:message-id:date\n\t:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=ZpbdeI/iOVqVQHmZBLu5OtZko5kp/wMtUCT5GCC8CeI=;\n\tb=Ga9iKl38dDkjrtqNAyXl++8PiDCUJBPkd++6aAL3e6FuZFLCgoDjVqt3SD2t3zd4VO\n\tr7iU8MP6lLzoo7g3JRo4uBHRrPh3OdHLg+cwEw3XJ6PUTx8EyjGofXvV7/kJtzGUxgJ8\n\tmFh/TKIFCLrVEShhoVB1YSYnk+bo27e/Eyw4I+zIwiTwL6I4J4g3+lKHmH7x8+cpykiv\n\tfiVf98ksBehZF1cvrWVgsUfG8WhggMbELkxGIdcrpkwVqL1n3xx8tP+ClBjehSOucM0F\n\t0oXsqXTq76TdGfrZ7kGgUrtO4OE2zLEU/J9fQ7Qx+AWM0RzmV+2xvq4KdeMM8+2NoXR3\n\tsV6A==","X-Gm-Message-State":"AAQBX9cEukMdQPuI2zzi/LEKGwH0sEu9PqCHxQxk5fbNmLyAe3E48Xxk\n\tl16RCcD09ZSbBHd37GGgAZJt6A==","X-Google-Smtp-Source":"AKy350bHbFh4qgvHTUlXUwx92muhpskWQriBy+GHKsrmorHkOOiSqPWvZ/eIKicCx+2wBYIfnyg5UA==","X-Received":"by 2002:a7b:c5c1:0:b0:3ee:5a48:5b54 with SMTP id\n\tn1-20020a7bc5c1000000b003ee5a485b54mr3952176wmk.16.1680682479865; \n\tWed, 05 Apr 2023 01:14:39 -0700 (PDT)","Date":"Wed, 05 Apr 2023 10:14:29 +0200","Message-Id":"<20230404-guard-idmap-v2-0-444d135b3895@baylibre.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAOUtLWQC/22NQQ6CMBBFr0K6ttpWiMGV9zAspu1AJwglUyUSw\n\tt0trF2+n//yVpGQCZO4F6tgnClRHDOYUyFcgLFDST6zMMpcValK2X2AfR4HmKT2ddUarRQ4ENm\n\twkFBahtGF3Rn6yBNyChH7i0u0XybGlr5H8NlkDpTekZejP+t9/Z+atdTS3ipnfG1KB+3DwvIiy\n\t3h2cRDNtm0/nP9fOswAAAA=","To":"libcamera-devel@lists.libcamera.org","X-Mailer":"b4 0.13-dev-00303","Subject":"[libcamera-devel] [PATCH v2 0/2] libcamera: controls: guard\n\tControlInfoMap against nullptr idmap_","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>","From":"Mattijs Korpershoek via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Mattijs Korpershoek <mkorpershoek@baylibre.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"I have:\n* build-tested and unit-tested this (using vimc) on master\n* functionally tested on a v0.0.4 android integration branch.\n\nI've tested that i'm able to do a camera preview even when the\nScalerCrop control is unavailable.\nThe crash reported in http://codepad.org/CiLLcPNW is no longer\nreproduced.\n\nNote that Jacopo already discussed alternative implementation by making\nidmap_ an instance instead of a pointer, but that seemed not a good idea\neither:\n\nhttps://lists.libcamera.org/pipermail/libcamera-devel/2023-April/037439.html\n\nSigned-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>\n---\nChanges in v2:\n- Became a series: added ControlInfoMap unit test to catch the segfault\n- Dropped codepad link from commit message\n- Link to v1: https://lists.libcamera.org/pipermail/libcamera-devel/2023-April/037443.html\n\n---\nMattijs Korpershoek (2):\n      libcamera: controls: guard ControlInfoMap against nullptr idmap_\n      test: controls: control_info_map: Test default constructor\n\n src/libcamera/controls.cpp         | 16 ++++++++++++++++\n test/controls/control_info_map.cpp |  7 +++++++\n 2 files changed, 23 insertions(+)\n---\nbase-commit: ac7511dc4c594f567ddff27ccc02c30bf6c00bfd\nchange-id: 20230404-guard-idmap-1d95f2100aca\n\nBest regards,"}