diff options
| author | Jeff Epler <jepler@unpythonic.net> | 2018-03-25 14:25:04 -0500 |
|---|---|---|
| committer | Jeff Epler <jepler@unpythonic.net> | 2018-03-25 15:11:30 -0500 |
| commit | 922b7c313197a28aa8243710d2d26f1034575674 (patch) | |
| tree | 8abbd4735f22948a922616bb2c2cd5d8a9c467f0 /py/gc_long_lived.c | |
| parent | fa884466793738338edb7389dc6b21f160bba37b (diff) | |
Don't assume the type of the prop->proxy objects
This fixes a crash running the cpydiff/core_class_superproperty.py
test, but it does not fix the difference to cpython3.
Closes: #705
Diffstat (limited to 'py/gc_long_lived.c')
| -rw-r--r-- | py/gc_long_lived.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/py/gc_long_lived.c b/py/gc_long_lived.c index c50bbcd83..d34fde5d9 100644 --- a/py/gc_long_lived.c +++ b/py/gc_long_lived.c @@ -78,9 +78,9 @@ mp_obj_property_t *make_property_long_lived(mp_obj_property_t *prop, uint8_t max if (max_depth == 0) { return prop; } - prop->proxy[0] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[0], max_depth - 1); - prop->proxy[1] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[1], max_depth - 1); - prop->proxy[2] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[2], max_depth - 1); + prop->proxy[0] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[0], max_depth - 1); + prop->proxy[1] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[1], max_depth - 1); + prop->proxy[2] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[2], max_depth - 1); return gc_make_long_lived(prop); } |
