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) {