From 35acfab903ec874568d30922f3dde6a1348f0d2f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 4 Feb 2016 16:07:10 -0700 Subject: [PATCH] fix internal array size on module redeclaration If a module is redeclared with more phases than before, expand the `running` array. --- racket/src/racket/src/module.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/racket/src/racket/src/module.c b/racket/src/racket/src/module.c index 18ea5061a9..d9f871e219 100644 --- a/racket/src/racket/src/module.c +++ b/racket/src/racket/src/module.c @@ -5433,6 +5433,12 @@ static Scheme_Env *instantiate_module(Scheme_Module *m, Scheme_Env *env, int res } else { Scheme_Env *env2; + if (menv->module->num_phases < m->num_phases) { + char *running; + running = (char *)scheme_malloc_atomic(m->num_phases); + menv->running = running; + } + menv->module = m; memset(menv->running, 0, menv->module->num_phases); menv->ran = 0;