[libcamera-devel] [PATCH v2 3/3] ipa: raspberrypi: fix missing initialize of status_
David Plowman
david.plowman at raspberrypi.com
Wed Oct 7 15:48:37 CEST 2020
Hi Tomi
Thanks for this patch. Actually I'm OK for this to go in subject to a
couple of very minor nitpicks... (sorry!)
On Wed, 7 Oct 2020 at 14:18, Tomi Valkeinen <tomi.valkeinen at iki.fi> wrote:
>
> Many fields in status_ are not initialized, causing use of uninitialized
> memory.
>
> Drop the code that clears some of the individual fields, and instead
> just memset the whole thing.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at iki.fi>
> ---
> src/ipa/raspberrypi/controller/rpi/agc.cpp | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/src/ipa/raspberrypi/controller/rpi/agc.cpp b/src/ipa/raspberrypi/controller/rpi/agc.cpp
> index df4d364..6ae774d 100644
> --- a/src/ipa/raspberrypi/controller/rpi/agc.cpp
> +++ b/src/ipa/raspberrypi/controller/rpi/agc.cpp
> @@ -148,14 +148,14 @@ Agc::Agc(Controller *controller)
> exposure_mode_(nullptr), constraint_mode_(nullptr),
> frame_count_(0), lock_count_(0)
> {
> - ev_ = status_.ev = 1.0;
> - flicker_period_ = status_.flicker_period = 0.0;
> - fixed_shutter_ = status_.fixed_shutter = 0;
> - fixed_analogue_gain_ = status_.fixed_analogue_gain = 0.0;
> - // set to zero initially, so we can tell it's not been calculated
We could keep the comment here, perhaps. Maybe
// set status_.total_exposure_value to zero initially, so we can tell
it's not been calculated
> - status_.total_exposure_value = 0.0;
> - status_.target_exposure_value = 0.0;
> - status_.locked = false;
> + memset(&status_, 0, sizeof(status_));
> + status_.ev = 1.0;
> +
> + ev_ = status_.ev;
> + flicker_period_ = status_.flicker_period;
> + fixed_shutter_ = status_.fixed_shutter;
> + fixed_analogue_gain_ = status_.fixed_analogue_gain;
I'd prefer to set the values explicitly here, i.e. 1.0 or 0.0 rather
than to copy them. I know it makes no difference, but the intent is
that, for example, "fixed_shutter_" should be zero, not "whatever
status_.fixed-shutter is". I know I'm splitting hairs, for which I
apologise. But I don't feel that strongly whether we change this or
not, so
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Thanks very much for the fixes!
Best regards
David
> +
> output_status_ = status_;
> }
>
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>
More information about the libcamera-devel
mailing list