diff --git a/lib/os/heap.c b/lib/os/heap.c index 1083b5b2be4..22ecce05914 100644 --- a/lib/os/heap.c +++ b/lib/os/heap.c @@ -207,8 +207,8 @@ static chunkid_t alloc_chunk(struct z_heap *h, size_t sz) */ size_t bmask = h->avail_buckets & ~((1 << (bi + 1)) - 1); - if ((bmask & h->avail_buckets) != 0U) { - int minbucket = __builtin_ctz(bmask & h->avail_buckets); + if (bmask != 0U) { + int minbucket = __builtin_ctz(bmask); chunkid_t c = h->buckets[minbucket].next; free_list_remove_bidx(h, c, minbucket);