diff options
author | Damien George <damien.p.george@gmail.com> | 2017-06-15 14:21:02 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-06-15 14:21:02 +1000 |
commit | e269cabe3ed8bed1b7181359febb686edbb748ae (patch) | |
tree | ff91eb8d3d4a1c0cbd276262c36f847043e20a06 /py/objint.c | |
parent | 8c5632a869f10445dc5091c39ec73ca49cf83454 (diff) |
py/objint: In to_bytes(), allow length arg to be any int and check sign.
Diffstat (limited to 'py/objint.c')
-rw-r--r-- | py/objint.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/py/objint.c b/py/objint.c index 4801baa85..0b4904139 100644 --- a/py/objint.c +++ b/py/objint.c @@ -435,7 +435,10 @@ STATIC mp_obj_t int_to_bytes(size_t n_args, const mp_obj_t *args) { // 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; |