diff --git a/tests/malloc_test.cpp b/tests/malloc_test.cpp
index 8272d39..f157ec4 100644
--- a/tests/malloc_test.cpp
+++ b/tests/malloc_test.cpp
@@ -765,7 +765,7 @@
 }
 
 TEST(malloc, mallinfo) {
-#if defined(__BIONIC__)
+#if defined(__BIONIC__) || defined(ANDROID_HOST_MUSL)
   SKIP_WITH_HWASAN << "hwasan does not implement mallinfo";
   static size_t sizes[] = {
     8, 32, 128, 4096, 32768, 131072, 1024000, 10240000, 20480000, 300000000
@@ -810,7 +810,7 @@
 }
 
 TEST(malloc, mallinfo2) {
-#if defined(__BIONIC__)
+#if defined(__BIONIC__) || defined(ANDROID_HOST_MUSL)
   SKIP_WITH_HWASAN << "hwasan does not implement mallinfo2";
   static size_t sizes[] = {8, 32, 128, 4096, 32768, 131072, 1024000, 10240000, 20480000, 300000000};
 
@@ -828,16 +828,16 @@
       struct mallinfo info = mallinfo();
       struct mallinfo2 info2 = mallinfo2();
       // Verify that mallinfo and mallinfo2 are exactly the same.
-      ASSERT_EQ(info.arena, info2.arena);
-      ASSERT_EQ(info.ordblks, info2.ordblks);
-      ASSERT_EQ(info.smblks, info2.smblks);
-      ASSERT_EQ(info.hblks, info2.hblks);
-      ASSERT_EQ(info.hblkhd, info2.hblkhd);
-      ASSERT_EQ(info.usmblks, info2.usmblks);
-      ASSERT_EQ(info.fsmblks, info2.fsmblks);
-      ASSERT_EQ(info.uordblks, info2.uordblks);
-      ASSERT_EQ(info.fordblks, info2.fordblks);
-      ASSERT_EQ(info.keepcost, info2.keepcost);
+      ASSERT_EQ(static_cast<size_t>(info.arena), info2.arena);
+      ASSERT_EQ(static_cast<size_t>(info.ordblks), info2.ordblks);
+      ASSERT_EQ(static_cast<size_t>(info.smblks), info2.smblks);
+      ASSERT_EQ(static_cast<size_t>(info.hblks), info2.hblks);
+      ASSERT_EQ(static_cast<size_t>(info.hblkhd), info2.hblkhd);
+      ASSERT_EQ(static_cast<size_t>(info.usmblks), info2.usmblks);
+      ASSERT_EQ(static_cast<size_t>(info.fsmblks), info2.fsmblks);
+      ASSERT_EQ(static_cast<size_t>(info.uordblks), info2.uordblks);
+      ASSERT_EQ(static_cast<size_t>(info.fordblks), info2.fordblks);
+      ASSERT_EQ(static_cast<size_t>(info.keepcost), info2.keepcost);
 
       size_t allocated = info2.uordblks;
       ptrs[i] = malloc(size);
@@ -846,16 +846,16 @@
       info = mallinfo();
       info2 = mallinfo2();
       // Verify that mallinfo and mallinfo2 are exactly the same.
-      ASSERT_EQ(info.arena, info2.arena);
-      ASSERT_EQ(info.ordblks, info2.ordblks);
-      ASSERT_EQ(info.smblks, info2.smblks);
-      ASSERT_EQ(info.hblks, info2.hblks);
-      ASSERT_EQ(info.hblkhd, info2.hblkhd);
-      ASSERT_EQ(info.usmblks, info2.usmblks);
-      ASSERT_EQ(info.fsmblks, info2.fsmblks);
-      ASSERT_EQ(info.uordblks, info2.uordblks);
-      ASSERT_EQ(info.fordblks, info2.fordblks);
-      ASSERT_EQ(info.keepcost, info2.keepcost);
+      ASSERT_EQ(static_cast<size_t>(info.arena), info2.arena);
+      ASSERT_EQ(static_cast<size_t>(info.ordblks), info2.ordblks);
+      ASSERT_EQ(static_cast<size_t>(info.smblks), info2.smblks);
+      ASSERT_EQ(static_cast<size_t>(info.hblks), info2.hblks);
+      ASSERT_EQ(static_cast<size_t>(info.hblkhd), info2.hblkhd);
+      ASSERT_EQ(static_cast<size_t>(info.usmblks), info2.usmblks);
+      ASSERT_EQ(static_cast<size_t>(info.fsmblks), info2.fsmblks);
+      ASSERT_EQ(static_cast<size_t>(info.uordblks), info2.uordblks);
+      ASSERT_EQ(static_cast<size_t>(info.fordblks), info2.fordblks);
+      ASSERT_EQ(static_cast<size_t>(info.keepcost), info2.keepcost);
 
       size_t new_allocated = info2.uordblks;
       if (allocated != new_allocated) {
