From 42cec5c893c4055c9c3a4b224bbf65bf0dfd9f49 Mon Sep 17 00:00:00 2001
From: Damien George <damien.p.george@gmail.com>
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;
-- 
GitLab