diff options
Diffstat (limited to 'py')
| -rw-r--r-- | py/objarray.c | 8 | ||||
| -rw-r--r-- | py/objstr.c | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/py/objarray.c b/py/objarray.c index 42fc0749d..c66070538 100644 --- a/py/objarray.c +++ b/py/objarray.c @@ -192,6 +192,14 @@ STATIC mp_obj_t bytearray_make_new(const mp_obj_type_t *type_in, size_t n_args, return MP_OBJ_FROM_PTR(o); } else { // 1 arg: construct the bytearray from that + if (mp_obj_is_str(args[0]) && n_args == 1) { + #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE + // Match bytes_make_new. + mp_raise_TypeError(MP_ERROR_TEXT("wrong number of arguments")); + #else + mp_raise_TypeError(MP_ERROR_TEXT("string argument without an encoding")); + #endif + } return array_construct(BYTEARRAY_TYPECODE, args[0]); } } diff --git a/py/objstr.c b/py/objstr.c index 8c639e735..bd3e16e7f 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -233,7 +233,11 @@ STATIC mp_obj_t bytes_make_new(const mp_obj_type_t *type_in, size_t n_args, size if (mp_obj_is_str(args[0])) { if (n_args < 2 || n_args > 3) { + #if MICROPY_ERROR_REPORTING <= MICROPY_ERROR_REPORTING_TERSE goto wrong_args; + #else + mp_raise_TypeError(MP_ERROR_TEXT("string argument without an encoding")); + #endif } GET_STR_DATA_LEN(args[0], str_data, str_len); GET_STR_HASH(args[0], str_hash); |
