commit | e269cabe3ed8bed1b7181359febb686edbb748ae | [log] [tgz] |
---|---|---|
author | Damien George <damien.p.george@gmail.com> | Thu Jun 15 14:21:02 2017 +1000 |
committer | Damien George <damien.p.george@gmail.com> | Thu Jun 15 14:21:02 2017 +1000 |
tree | ff91eb8d3d4a1c0cbd276262c36f847043e20a06 | |
parent | 8c5632a869f10445dc5091c39ec73ca49cf83454 [diff] [blame] |
py/objint: In to_bytes(), allow length arg to be any int and check sign.
diff --git a/py/objint.c b/py/objint.c index 4801baa..0b49041 100644 --- a/py/objint.c +++ b/py/objint.c
@@ -435,7 +435,10 @@ // TODO: Support signed param (assumes signed=False) (void)n_args; - mp_uint_t len = MP_OBJ_SMALL_INT_VALUE(args[1]); + mp_int_t len = mp_obj_get_int(args[1]); + if (len < 0) { + mp_raise_ValueError(NULL); + } bool big_endian = args[2] != MP_OBJ_NEW_QSTR(MP_QSTR_little); vstr_t vstr;