summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-08-16 17:02:04 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-08-16 17:02:04 +0300
commitd2cc7c720b3c6cd0f48f235a04d2e0bb740dad44 (patch)
tree9599f3df35180abf59cca15d561968f2bc710ba2
parent095e43a9a5b3fc7c1220cdbabe6a4fed0973b1e1 (diff)
downloadmicropython-d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44.tar.gz
micropython-d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44.zip
extmod/modwebrepl: set_password(): Raise exception for too long password.
-rw-r--r--extmod/modwebrepl.c7
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);