From e37fbf0ada489c97ddb65419ea9df31e0afe4db5 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Thu, 27 Jul 2017 09:07:09 +0200 Subject: [PATCH] core: mem/f_malloc - explicit set to 0 for bit shifting greater than size (cherry picked from commit 0cb33abe8b2196fb26baf459f66d9d7b9e920013) --- src/core/mem/f_malloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/mem/f_malloc.c b/src/core/mem/f_malloc.c index 764e79d5ad0..a4172a4de14 100644 --- a/src/core/mem/f_malloc.c +++ b/src/core/mem/f_malloc.c @@ -122,7 +122,8 @@ inline static int fm_bmp_first_set(struct fm_block* qm, int start) return (start-bit+r); } #endif - v=qm->free_bitmap[bmp_idx]>>(bit+1); + if((bit+1) < 8*sizeof(v)) v=qm->free_bitmap[bmp_idx]>>(bit+1); + else v = 0; return start+1+bit_scan_forward((unsigned long)v); } for (r=bmp_idx+1;r