From d2cc7c720b3c6cd0f48f235a04d2e0bb740dad44 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 16 Aug 2016 17:02:04 +0300 Subject: [PATCH] extmod/modwebrepl: set_password(): Raise exception for too long password. --- extmod/modwebrepl.c | 7 ++++--- 1 file 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);