diff --git a/lib/libfdt/fdt.c b/lib/libfdt/fdt.c index 673bab44e6..b548d5cf05 100644 --- a/lib/libfdt/fdt.c +++ b/lib/libfdt/fdt.c @@ -14,7 +14,7 @@ #include "libfdt_internal.h" -#define UINT_MAX (~0U) +#define ULONG_MAX (~0UL) int fdt_check_header(const void *fdt) { @@ -41,13 +41,13 @@ int fdt_check_header(const void *fdt) } fdt_end = fdt_start + fdt_totalsize(fdt); - if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_struct(fdt) + (uint64_t)fdt_size_dt_struct(fdt)) > UINT_MAX) + if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_struct(fdt) + (uint64_t)fdt_size_dt_struct(fdt)) > ULONG_MAX) return FDT_ERR_BADOFFSET; if ((fdt_start + fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt)) > fdt_end) return FDT_ERR_BADOFFSET; - if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_strings(fdt) + (uint64_t)fdt_size_dt_strings(fdt)) > UINT_MAX) + if (((uint64_t)fdt_start + (uint64_t)fdt_off_dt_strings(fdt) + (uint64_t)fdt_size_dt_strings(fdt)) > ULONG_MAX) return FDT_ERR_BADOFFSET; if ((fdt_start + fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)) > fdt_end)