[libcamera-devel] [PATCH v2 2/2] libcamera: utils: call secure_getenv() if it exists or workaround with issetugid()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Apr 26 12:10:38 CEST 2019
Hi Giulio,
Thank you for the patch.
On Fri, Apr 26, 2019 at 10:42:20AM +0200, Giulio Benetti wrote:
> When secure_getenv() is not available, need to have a workaround.
>
> Check if secure_getenv() is present, otherwise call issetugid() on its
> place.
>
> Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
> ---
> Changes:
> V1->V2: call ::secure_getenv() instead of secure_getenv() recursively.
>
> src/libcamera/utils.cpp | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp
> index 66123b1..5d85b5c 100644
> --- a/src/libcamera/utils.cpp
> +++ b/src/libcamera/utils.cpp
> @@ -8,7 +8,7 @@
> #include "utils.h"
>
> #include <string.h>
> -#include <sys/auxv.h>
> +#include <unistd.h>
You need to also include stdlib.h as that's where secure_getenv() is
defined. Kieran will fix this when applying, there's no need to resend.
>
> /**
> * \file utils.h
> @@ -57,10 +57,14 @@ const char *basename(const char *path)
> */
> char *secure_getenv(const char *name)
> {
> - if (getauxval(AT_SECURE))
> +#if HAVE_SECURE_GETENV
> + return ::secure_getenv(name);
> +#else
> + if (issetugid())
> return NULL;
>
> return getenv(name);
> +#endif
> }
>
> /**
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list