From be2afcdcc944aaa55d7ae61f037afeb707d677f2 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 10 Dec 2011 11:43:18 -0700 Subject: [PATCH] add missing bytecode-unmarshal check --- src/racket/src/marshal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/racket/src/marshal.c b/src/racket/src/marshal.c index b2d1e275bf..a82a5a0215 100644 --- a/src/racket/src/marshal.c +++ b/src/racket/src/marshal.c @@ -1391,8 +1391,10 @@ static Scheme_Object *read_module(Scheme_Object *obj) if (!SCHEME_PAIRP(obj)) return_NULL(); me->src_modidx = SCHEME_CAR(obj); obj = SCHEME_CDR(obj); - ((Scheme_Modidx *)m->me->src_modidx)->resolved = m->modname; - m->self_modidx = m->me->src_modidx; + if (!SAME_TYPE(SCHEME_TYPE(me->src_modidx), scheme_module_index_type)) + return_NULL(); + ((Scheme_Modidx *)me->src_modidx)->resolved = m->modname; + m->self_modidx = me->src_modidx; if (!SCHEME_PAIRP(obj)) return_NULL(); e = SCHEME_CAR(obj);