diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-08-16 17:02:04 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-08-16 17:02:04 +0300 |
commit | d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44 (patch) | |
tree | 9599f3df35180abf59cca15d561968f2bc710ba2 | |
parent | 095e43a9a5b3fc7c1220cdbabe6a4fed0973b1e1 (diff) | |
download | micropython-d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44.tar.gz micropython-d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44.zip |
extmod/modwebrepl: set_password(): Raise exception for too long password.
-rw-r--r-- | extmod/modwebrepl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/extmod/modwebrepl.c b/extmod/modwebrepl.c index 4e3780fa4d..858d2c1c0b 100644 --- a/extmod/modwebrepl.c +++ b/extmod/modwebrepl.c @@ -310,9 +310,10 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(webrepl_close_obj, webrepl_close); STATIC mp_obj_t webrepl_set_password(mp_obj_t passwd_in) { mp_uint_t len; const char *passwd = mp_obj_str_get_data(passwd_in, &len); - len = MIN(len, sizeof(webrepl_passwd) - 1); - memcpy(webrepl_passwd, passwd, len); - webrepl_passwd[len] = 0; + if (len > sizeof(webrepl_passwd) - 1) { + mp_raise_ValueError(""); + } + strcpy(webrepl_passwd, passwd); return mp_const_none; } STATIC MP_DEFINE_CONST_FUN_OBJ_1(webrepl_set_password_obj, webrepl_set_password); |