Merge pull request #5300 from kamtom480/fix_movable

Fix incorrect use of allocate_memory()
This commit is contained in:
microDev 2021-09-05 09:46:07 +05:30 committed by GitHub
commit 119cc8488b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

2
main.c
View File

@ -236,7 +236,7 @@ STATIC void cleanup_after_vm(supervisor_allocation* heap, mp_obj_t exception) {
size_t traceback_len = 0; size_t traceback_len = 0;
mp_print_t print_count = {&traceback_len, count_strn}; mp_print_t print_count = {&traceback_len, count_strn};
mp_obj_print_exception(&print_count, exception); mp_obj_print_exception(&print_count, exception);
prev_traceback_allocation = allocate_memory(align32_size(traceback_len + 1), false, true); prev_traceback_allocation = allocate_memory(align32_size(traceback_len + 1), false, false);
// Empirically, this never fails in practice - even when the heap is totally filled up // Empirically, this never fails in practice - even when the heap is totally filled up
// with single-block-sized objects referenced by a root pointer, exiting the VM frees // with single-block-sized objects referenced by a root pointer, exiting the VM frees
// up several hundred bytes, sufficient for the traceback (which tends to be shortened // up several hundred bytes, sufficient for the traceback (which tends to be shortened

View File

@ -195,7 +195,7 @@ STATIC mp_obj_t supervisor_set_next_code_file(size_t n_args, const mp_obj_t *pos
const char *filename = mp_obj_str_get_data(args.filename.u_obj, &len); const char *filename = mp_obj_str_get_data(args.filename.u_obj, &len);
free_memory(next_code_allocation); free_memory(next_code_allocation);
if (options != 0 || len != 0) { if (options != 0 || len != 0) {
next_code_allocation = allocate_memory(align32_size(sizeof(next_code_info_t) + len + 1), false, true); next_code_allocation = allocate_memory(align32_size(sizeof(next_code_info_t) + len + 1), false, false);
if (next_code_allocation == NULL) { if (next_code_allocation == NULL) {
m_malloc_fail(sizeof(next_code_info_t) + len + 1); m_malloc_fail(sizeof(next_code_info_t) + len + 1);
} }