Browse Source

mp_obj_is_callable(): Only object types can be callable.

Fixes segfault on callable("string").
pull/210/merge
Paul Sokolovsky 11 years ago
parent
commit
c3e72a8cc8
  1. 2
      py/obj.c
  2. 5
      tests/basics/builtin-callable.py

2
py/obj.c

@ -66,7 +66,7 @@ void mp_obj_print_exception(mp_obj_t exc) {
} }
bool mp_obj_is_callable(mp_obj_t o_in) { bool mp_obj_is_callable(mp_obj_t o_in) {
if (MP_OBJ_IS_SMALL_INT(o_in)) { if (!MP_OBJ_IS_OBJ(o_in)) {
return false; return false;
} else { } else {
mp_obj_base_t *o = o_in; mp_obj_base_t *o = o_in;

5
tests/basics/builtin-callable.py

@ -0,0 +1,5 @@
import sys
print(callable(1))
print(callable("dfsd"))
print(callable(callable))
print(callable(sys))
Loading…
Cancel
Save