py/objexcept: Compare mp_emergency_exception_buf_size signed.
mp_emergency_exception_buf_size is signed, so let's make sure we compare it as such.
This commit is contained in:
parent
6324c3e054
commit
6d3aa16443
@ -208,7 +208,7 @@ mp_obj_t mp_obj_exception_make_new(const mp_obj_type_t *type, size_t n_args, siz
|
|||||||
// reserved room (after the traceback data) for a tuple with 1 element.
|
// reserved room (after the traceback data) for a tuple with 1 element.
|
||||||
// Otherwise we are free to use the whole buffer after the traceback data.
|
// Otherwise we are free to use the whole buffer after the traceback data.
|
||||||
if (o_tuple == NULL && mp_emergency_exception_buf_size >=
|
if (o_tuple == NULL && mp_emergency_exception_buf_size >=
|
||||||
EMG_BUF_TUPLE_OFFSET + EMG_BUF_TUPLE_SIZE(n_args)) {
|
(mp_int_t)(EMG_BUF_TUPLE_OFFSET + EMG_BUF_TUPLE_SIZE(n_args))) {
|
||||||
o_tuple = (mp_obj_tuple_t *)
|
o_tuple = (mp_obj_tuple_t *)
|
||||||
((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_TUPLE_OFFSET);
|
((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_TUPLE_OFFSET);
|
||||||
}
|
}
|
||||||
@ -383,7 +383,7 @@ mp_obj_t mp_obj_new_exception_msg(const mp_obj_type_t *exc_type, mp_rom_error_te
|
|||||||
// that buffer to store the string object, reserving room at the start for the
|
// that buffer to store the string object, reserving room at the start for the
|
||||||
// traceback and 1-tuple.
|
// traceback and 1-tuple.
|
||||||
if (o_str == NULL
|
if (o_str == NULL
|
||||||
&& mp_emergency_exception_buf_size >= EMG_BUF_STR_OFFSET + sizeof(mp_obj_str_t)) {
|
&& mp_emergency_exception_buf_size >= (mp_int_t)(EMG_BUF_STR_OFFSET + sizeof(mp_obj_str_t))) {
|
||||||
o_str = (mp_obj_str_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf)
|
o_str = (mp_obj_str_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf)
|
||||||
+ EMG_BUF_STR_OFFSET);
|
+ EMG_BUF_STR_OFFSET);
|
||||||
}
|
}
|
||||||
@ -465,7 +465,7 @@ mp_obj_t mp_obj_new_exception_msg_vlist(const mp_obj_type_t *exc_type, mp_rom_er
|
|||||||
// that buffer to store the string object and its data (at least 16 bytes for
|
// that buffer to store the string object and its data (at least 16 bytes for
|
||||||
// the string data), reserving room at the start for the traceback and 1-tuple.
|
// the string data), reserving room at the start for the traceback and 1-tuple.
|
||||||
if ((o_str == NULL || o_str_buf == NULL)
|
if ((o_str == NULL || o_str_buf == NULL)
|
||||||
&& mp_emergency_exception_buf_size >= EMG_BUF_STR_OFFSET + sizeof(mp_obj_str_t) + 16) {
|
&& mp_emergency_exception_buf_size >= (mp_int_t)(EMG_BUF_STR_OFFSET + sizeof(mp_obj_str_t) + 16)) {
|
||||||
used_emg_buf = true;
|
used_emg_buf = true;
|
||||||
o_str = (mp_obj_str_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_STR_OFFSET);
|
o_str = (mp_obj_str_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_STR_OFFSET);
|
||||||
o_str_buf = (byte *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_STR_BUF_OFFSET);
|
o_str_buf = (byte *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf) + EMG_BUF_STR_BUF_OFFSET);
|
||||||
@ -573,7 +573,7 @@ void mp_obj_exception_add_traceback(mp_obj_t self_in, qstr file, size_t line, qs
|
|||||||
self->traceback_data = m_new_maybe(size_t, TRACEBACK_ENTRY_LEN);
|
self->traceback_data = m_new_maybe(size_t, TRACEBACK_ENTRY_LEN);
|
||||||
if (self->traceback_data == NULL) {
|
if (self->traceback_data == NULL) {
|
||||||
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF
|
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF
|
||||||
if (mp_emergency_exception_buf_size >= EMG_BUF_TRACEBACK_OFFSET + EMG_BUF_TRACEBACK_SIZE) {
|
if (mp_emergency_exception_buf_size >= (mp_int_t)(EMG_BUF_TRACEBACK_OFFSET + EMG_BUF_TRACEBACK_SIZE)) {
|
||||||
// There is room in the emergency buffer for traceback data
|
// There is room in the emergency buffer for traceback data
|
||||||
size_t *tb = (size_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf)
|
size_t *tb = (size_t *)((uint8_t *)MP_STATE_VM(mp_emergency_exception_buf)
|
||||||
+ EMG_BUF_TRACEBACK_OFFSET);
|
+ EMG_BUF_TRACEBACK_OFFSET);
|
||||||
|
Loading…
Reference in New Issue
Block a user