[libcamera-devel] [PATCH] libcamera: ipa_module: prevent uninitialised access
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jul 18 16:04:09 CEST 2019
Hi Kieran,
Thank you for the patch.
On Thu, Jul 18, 2019 at 06:06:17AM +0100, Kieran Bingham wrote:
> The IPAModule::loadIPAModuleInfo() function includes a *data pointer
> which is used as a null-pointer comparison in the error path with a
> conditional statement of "if (ret || !data)".
>
> The data variable is not initialised, and a single error path evaluates
> this as "if (true || uninitialised)".
>
> Whilst this error path does not incorrectly utilise the uninitialised
> data, as the ret evaluates to true already, it does leave a statement
> which includes an uninitialised variable.
>
> Help the static anlaysers by initialising the data variable when it is
> defined.
Have you found this with any static initialiser ? Does valgrind report
this issue ?
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/ipa_module.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
> index 003611625214..2ddb02c1562e 100644
> --- a/src/libcamera/ipa_module.cpp
> +++ b/src/libcamera/ipa_module.cpp
> @@ -291,7 +291,7 @@ int IPAModule::loadIPAModuleInfo()
> return ret;
> }
>
> - void *data;
> + void *data = NULL;
This should be nullptr.
> size_t dataSize;
> void *map;
> size_t soSize;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list