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

Commit e62a9d76 authored by Steven Moreland's avatar Steven Moreland
Browse files

FlattenableUtils::align memsets

Bug: 141890807
Test: boot, check data is zero'd
Change-Id: I45aaeac369f4c5cf3eb44f61c233e00f870a5c79
(cherry picked from commit bf824f8f)
parent b2598346
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -47,7 +47,12 @@ public:

    template<size_t N>
    static size_t align(void*& buffer) {
        return align<N>( const_cast<void const*&>(buffer) );
        static_assert(!(N & (N - 1)), "Can only align to a power of 2.");
        void* b = buffer;
        buffer = reinterpret_cast<void*>((uintptr_t(buffer) + (N-1)) & ~(N-1));
        size_t delta = size_t(uintptr_t(buffer) - uintptr_t(b));
        memset(b, 0, delta);
        return delta;
    }

    static void advance(void*& buffer, size_t& size, size_t offset) {