summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2018-04-01 22:38:19 -0700
committerGitHub <noreply@github.com>2018-04-01 22:38:19 -0700
commitb62d8faaec57899abff13cb70a7e0007cba4479c (patch)
tree75e959227d6da1924a487d2e77d1f27653a966f1 /py
parent3215b85568af98987c8d54af4e691637a74e91bc (diff)
parenta909007fefbb94ac8de64517a712277cd76e9993 (diff)
Merge pull request #735 from jepler/generator-stack-overflow-circuitpython
py/objgenerator: Check stack before resuming a generator
Diffstat (limited to 'py')
-rw-r--r--py/objgenerator.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c
index 139452442..ff566c076 100644
--- a/py/objgenerator.c
+++ b/py/objgenerator.c
@@ -32,6 +32,7 @@
#include "py/bc.h"
#include "py/objgenerator.h"
#include "py/objfun.h"
+#include "py/stackctrl.h"
/******************************************************************************/
/* generator wrapper */
@@ -92,6 +93,7 @@ STATIC void gen_instance_print(const mp_print_t *print, mp_obj_t self_in, mp_pri
}
mp_vm_return_kind_t mp_obj_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_obj_t throw_value, mp_obj_t *ret_val) {
+ MP_STACK_CHECK();
mp_check_self(MP_OBJ_IS_TYPE(self_in, &mp_type_gen_instance));
mp_obj_gen_instance_t *self = MP_OBJ_TO_PTR(self_in);
if (self->code_state.ip == 0) {