py/objint: Fix left-shift overflow in checking for large int.
diff --git a/py/objint.c b/py/objint.c
index a61ed8e..222aa1d 100644
--- a/py/objint.c
+++ b/py/objint.c
@@ -383,7 +383,7 @@
 
     #if MICROPY_LONGINT_IMPL != MICROPY_LONGINT_IMPL_NONE
     // If result guaranteedly fits in small int, use that
-    if (!MP_SMALL_INT_FITS(1 << (bufinfo.len * 8 - 1))) {
+    if (bufinfo.len >= sizeof(mp_uint_t) || !MP_SMALL_INT_FITS(1 << (bufinfo.len * 8 - 1))) {
         return mp_obj_int_from_bytes_impl(args[2] != MP_OBJ_NEW_QSTR(MP_QSTR_little), bufinfo.len, bufinfo.buf);
     } else
     #endif