fix the bug #MSVR 62253 for dynamic storage allocation
This commit is contained in:
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user