From 607796a4ff169f375e63853713cfeef0a89a0b2c Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Tue, 17 Jan 2017 13:01:25 +0100 Subject: [PATCH] cbfstool: Don't use le32toh(), it's non-standard It's a BSD function, also, we missed to include `endian.h`. Just including `endian.h` doesn't fix the problem for everyone. Instead of digging deeper, just use our own endian-conversion from `commonlib`. Change-Id: Ia781b2258cafb0bcbe8408752a133cd28a888786 Reported-by: Werner Zeh Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/18157 Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi Reviewed-by: Werner Zeh --- util/cbfstool/cbfstool.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util/cbfstool/cbfstool.c b/util/cbfstool/cbfstool.c index 9b5343eb17..cc317515f7 100644 --- a/util/cbfstool/cbfstool.c +++ b/util/cbfstool/cbfstool.c @@ -30,6 +30,7 @@ #include "fit.h" #include "partitioned_file.h" #include +#include #define SECTION_WITH_FIT_TABLE "BOOTBLOCK" @@ -445,8 +446,8 @@ static int cbfstool_convert_raw(struct buffer *buffer, decompressed_size = buffer->size; if (param.precompression) { - param.compression = le32toh(((uint32_t *)buffer->data)[0]); - decompressed_size = le32toh(((uint32_t *)buffer->data)[1]); + param.compression = read_le32(buffer->data); + decompressed_size = read_le32(buffer->data + sizeof(uint32_t)); compressed_size = buffer->size - 8; compressed = malloc(compressed_size); if (!compressed)