summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-18 00:21:11 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-18 00:22:19 +0200
commit4d0588df561594ed5a4ea16a41251e4dc2e5d0c9 (patch)
treef0ece22d9bcda7589537def226b143e809ea4559
parent517e1706bd8fcf710e15e09de5fcf00f5039643a (diff)
downloadmicropython-4d0588df561594ed5a4ea16a41251e4dc2e5d0c9.tar.gz
micropython-4d0588df561594ed5a4ea16a41251e4dc2e5d0c9.zip
objint_longlong: Don't assert on invalid syntax, raise SyntaxError instead.
-rw-r--r--py/objint_longlong.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/py/objint_longlong.c b/py/objint_longlong.c
index 7412cc09c3..ea28bc7d9a 100644
--- a/py/objint_longlong.c
+++ b/py/objint_longlong.c
@@ -148,7 +148,9 @@ mp_obj_t mp_obj_new_int_from_long_str(const char *s) {
char *end;
// TODO: this doesn't handle Python hacked 0o octal syntax
v = strtoll(s, &end, 0);
- assert(*end == 0);
+ if (*end != 0) {
+ nlr_jump(mp_obj_new_exception_msg(&mp_type_SyntaxError, "invalid syntax for number"));
+ }
mp_obj_int_t *o = m_new_obj(mp_obj_int_t);
o->base.type = &int_type;
o->val = v;