Thanks Heinrich On Sun, 3 Nov 2024 at 07:12, Heinrich Schuchardt <heinrich.schucha...@canonical.com> wrote: > > hextoul() cannot convert a string to a 64-bit number on a 32-bit system. > Use function hextoull() instead. > > Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > --- > lib/uuid.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/uuid.c b/lib/uuid.c > index c6a27b7d044..19f33dd1477 100644 > --- a/lib/uuid.c > +++ b/lib/uuid.c > @@ -35,6 +35,7 @@ > #ifdef USE_HOSTCC > /* polyfill hextoul to avoid pulling in strto.c */ > #define hextoul(cp, endp) strtoul(cp, endp, 16) > +#define hextoull(cp, endp) strtoull(cp, endp, 16) > #endif > > int uuid_str_valid(const char *uuid) > @@ -339,7 +340,7 @@ int uuid_str_to_le_bin(const char *uuid_str, unsigned > char *uuid_bin) > tmp16 = cpu_to_le16(hextoul(uuid_str + 19, NULL)); > memcpy(uuid_bin + 8, &tmp16, 2); > > - tmp64 = cpu_to_le64(hextoul(uuid_str + 24, NULL)); > + tmp64 = cpu_to_le64(hextoull(uuid_str + 24, NULL)); > memcpy(uuid_bin + 10, &tmp64, 6); > > return 0; > -- > 2.45.2 >
Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>