fix the bug #MSVR 62253 for dynamic storage allocation

This commit is contained in:
jackjzhao(赵健)
2021-01-07 17:44:48 +08:00
parent 206814bdbc
commit 53f0b45fbc

View File

@@ -496,7 +496,7 @@ __STATIC__ size_t adjust_request_size(size_t size, size_t align)
} }
adjust_size = align_up(size, align); adjust_size = align_up(size, align);
if (adjust_size > K_MMHEAP_BLK_SIZE_MAX) { if ((adjust_size > K_MMHEAP_BLK_SIZE_MAX)||(!adjust_size)) {
return 0; return 0;
} }
@@ -590,6 +590,9 @@ __API__ void *tos_mmheap_alloc(size_t size)
size_t adjust_size; size_t adjust_size;
mmheap_blk_t *blk; mmheap_blk_t *blk;
if (size>K_MMHEAP_BLK_SIZE_MAX) {
return K_NULL;
}
adjust_size = adjust_request_size(size, K_MMHEAP_ALIGN_SIZE); adjust_size = adjust_request_size(size, K_MMHEAP_ALIGN_SIZE);
blk = blk_locate_free(adjust_size); blk = blk_locate_free(adjust_size);
if (!blk) { if (!blk) {