aboutsummaryrefslogtreecommitdiff
path: root/py/objint.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-06-15 14:21:02 +1000
committerDamien George <damien.p.george@gmail.com>2017-06-15 14:21:02 +1000
commite269cabe3ed8bed1b7181359febb686edbb748ae (patch)
treeff91eb8d3d4a1c0cbd276262c36f847043e20a06 /py/objint.c
parent8c5632a869f10445dc5091c39ec73ca49cf83454 (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.c5
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;