From 42cec5c893c4055c9c3a4b224bbf65bf0dfd9f49 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 4 Sep 2015 16:51:55 +0100 Subject: [PATCH] py/objstr: Check for keyword args before checking for no posn args. Otherwise something like bytes(abc=123) will succeed. --- py/objstr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/py/objstr.c b/py/objstr.c index 704fa07e1..ed61d17f8 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -172,16 +172,16 @@ mp_obj_t mp_obj_str_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, STATIC mp_obj_t bytes_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) { (void)type_in; - if (n_args == 0) { - return mp_const_empty_bytes; - } - #if MICROPY_CPYTHON_COMPAT if (n_kw != 0) { mp_arg_error_unimpl_kw(); } #endif + if (n_args == 0) { + return mp_const_empty_bytes; + } + if (MP_OBJ_IS_STR(args[0])) { if (n_args < 2 || n_args > 3) { goto wrong_args;