[PATCH 1/4] libcamera: utils: Avoid infinite recursion with strtod()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri May 3 16:39:33 CEST 2024
On Fri, May 03, 2024 at 04:37:55PM +0200, Stefan Klug wrote:
> Hi Laurent,
>
> thanks for the patch.
>
> On Fri, May 03, 2024 at 05:52:02AM +0300, Laurent Pinchart wrote:
> > When the C library doesn't provide local object support, the
> > utils::strtod() function simply calls strtod() from the C library. The
> > current implementation does so incorrectly, and calls utils::strtod()
> > instead, resulting in infinite recursion. Fix it with a proper namespace
> > qualifier.
>
> Makes me curious which clib that was.
> Reviewed-by: Stefan Klug <stefan.klug at ideasonboard.com>
I noticed this with uclibc.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > src/libcamera/base/utils.cpp | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/libcamera/base/utils.cpp b/src/libcamera/base/utils.cpp
> > index 2f4c3177ac13..96023f992e03 100644
> > --- a/src/libcamera/base/utils.cpp
> > +++ b/src/libcamera/base/utils.cpp
> > @@ -517,7 +517,7 @@ double strtod(const char *__restrict nptr, char **__restrict endptr)
> > * If the libc implementation doesn't provide locale object support,
> > * assume that strtod() is locale-independent.
> > */
> > - return strtod(nptr, endptr);
> > + return ::strtod(nptr, endptr);
> > #endif
> > }
> >
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list