summaryrefslogtreecommitdiff
path: root/dln.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-04-17 04:11:17 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-04-17 04:11:17 +0000
commitdad31f6e5047272cea5a65c764281bcaa7284131 (patch)
treed0a8caf8138c0d965235a915f9d7ee2bbd0e095b /dln.c
parent6655667d738d59cc824b264eef4587fe9700af15 (diff)
* dln.c (rb_w32_check_imported): skip ordinal entries. based on a
patch by phasis68 (Heesob Park) at [ruby-core:44381]. [ruby-core:44371][Bug #6303] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dln.c')
-rw-r--r--dln.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/dln.c b/dln.c
index c2ca0a6..38e1dcd 100644
--- a/dln.c
+++ b/dln.c
@@ -1214,7 +1214,7 @@ rb_w32_check_imported(HMODULE ext, HMODULE mine)
while (desc->Name) {
PIMAGE_THUNK_DATA pint = (PIMAGE_THUNK_DATA)((char *)ext + desc->Characteristics);
PIMAGE_THUNK_DATA piat = (PIMAGE_THUNK_DATA)((char *)ext + desc->FirstThunk);
- while (piat->u1.Function) {
+ for (; piat->u1.Function; piat++, pint++) {
static const char prefix[] = "rb_";
PIMAGE_IMPORT_BY_NAME pii;
const char *name;
@@ -1226,8 +1226,6 @@ rb_w32_check_imported(HMODULE ext, HMODULE mine)
FARPROC addr = GetProcAddress(mine, name);
if (addr) return (FARPROC)piat->u1.Function == addr;
}
- piat++;
- pint++;
}
desc++;
}