diff --git a/src/utils/utils_common.c b/src/utils/utils_common.c index bffc9f3559..eaf5420fc6 100644 --- a/src/utils/utils_common.c +++ b/src/utils/utils_common.c @@ -25,7 +25,6 @@ void utils_align_ptr_up_size_down(void **ptr, size_t *size, size_t alignment) { } ASSERT(IS_ALIGNED(p, alignment)); - ASSERT(IS_ALIGNED(s, alignment)); *ptr = (void *)p; *size = s; diff --git a/test/utils/utils_linux.cpp b/test/utils/utils_linux.cpp index 7aa0a9d834..1815a1a782 100644 --- a/test/utils/utils_linux.cpp +++ b/test/utils/utils_linux.cpp @@ -2,6 +2,7 @@ // Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +#include #include #include "base.hpp" @@ -169,3 +170,19 @@ TEST_F(test, utils_open) { EXPECT_EQ(utils_file_open(NULL), -1); EXPECT_EQ(utils_file_open_or_create(NULL), -1); } + +TEST_F(test, utils_align_ptr_up_size_down) { + uintptr_t ptr = 0x4000; + size_t size = 0x8000; + size_t alignment = 0x4000; + utils_align_ptr_up_size_down((void **)&ptr, &size, alignment); + EXPECT_EQ(ptr, 0x4000); + EXPECT_EQ(size, 0x8000); + + ptr = 0x4001; + size = 0x8000; + alignment = 0x4000; + utils_align_ptr_up_size_down((void **)&ptr, &size, alignment); + EXPECT_EQ(ptr, 0x8000); + EXPECT_EQ(size, 0x4001); +}