Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5d85962 authored by Mitch Phillips's avatar Mitch Phillips
Browse files

fix integer promotion in logging.

Integer promotion rules say that bitfields where all values can be
represented in an int, get promoted to an int. Thus, the computation of
these values in the multiplication is of base integer type.

Compiling this library with debug asserts enabled (-UNDEBUG) currently
fails as the format specifier is expecting long unsigned, and is
provided an int.

Bug: 160324350
Test: Build with -UNDEBUG.
Change-Id: Ia8ab23d2cc6716fe87a36317b1a857981459c207
parent 99f85854
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -387,7 +387,7 @@ SimpleBestFitAllocator::chunk_t* SimpleBestFitAllocator::dealloc(size_t start)
    while (cur) {
        if (cur->start == start) {
            LOG_FATAL_IF(cur->free,
                "block at offset 0x%08lX of size 0x%08lX already freed",
                "block at offset 0x%08lX of size 0x%08X already freed",
                cur->start*kMemoryAlign, cur->size*kMemoryAlign);

            // merge freed blocks together
@@ -411,7 +411,7 @@ SimpleBestFitAllocator::chunk_t* SimpleBestFitAllocator::dealloc(size_t start)
                }
            #endif
            LOG_FATAL_IF(!freed->free,
                "freed block at offset 0x%08lX of size 0x%08lX is not free!",
                "freed block at offset 0x%08lX of size 0x%08X is not free!",
                freed->start * kMemoryAlign, freed->size * kMemoryAlign);

            return freed;