From c71bffa4bdb51800f79966d01ead25c6361110a8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 3 Jul 2006 16:24:16 +0000 Subject: [PATCH] avoid reading past EnumProcessModules result array svn: r3583 --- src/foreign/foreign.c | 3 ++- src/foreign/foreign.ssc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/foreign/foreign.c b/src/foreign/foreign.c index 0b365eb7b4..fa1f8ef5c9 100644 --- a/src/foreign/foreign.c +++ b/src/foreign/foreign.c @@ -328,7 +328,8 @@ static Scheme_Object *foreign_ffi_obj(int argc, Scheme_Object *argv[]) mods = (HMODULE *)scheme_malloc_atomic(cnt); if (!mzEnumProcessModules(me, mods, cnt, &actual_cnt)) mods = NULL; - } + } else + cnt = actual_cnt; } else mods = NULL; if (mods) { diff --git a/src/foreign/foreign.ssc b/src/foreign/foreign.ssc index 7aafbfdac9..d22664d2dd 100755 --- a/src/foreign/foreign.ssc +++ b/src/foreign/foreign.ssc @@ -267,7 +267,8 @@ static Scheme_Hash_Table *opened_libs; mods = (HMODULE *)scheme_malloc_atomic(cnt); if (!mzEnumProcessModules(me, mods, cnt, &actual_cnt)) mods = NULL; - } + } else + cnt = actual_cnt; } else mods = NULL; if (mods) {