diff --git a/compiler-rt/test/asan/TestCases/leaks.cpp b/compiler-rt/test/asan/TestCases/leaks.cpp index 9c076dd894ebf..1207818308c23 100644 --- a/compiler-rt/test/asan/TestCases/leaks.cpp +++ b/compiler-rt/test/asan/TestCases/leaks.cpp @@ -14,6 +14,14 @@ int *t; __attribute__((noopt)) void leak(int n) { +#if defined(__ANDROID__) || defined(__BIONIC__) + // Bionic does not acutally allocate when n==0, hence + // there would not be a leak. + // Re-adjust n so the test can pass. + if (n == 0) + n = 1; +#endif + // Repeat few times to make sure that at least one pointer is // not somewhere on the stack. for (int i = 0; i < 10; ++i) {