[前][次][番号順一覧][スレッド一覧]

ruby-changes:23301

From: nobu <ko1@a...>
Date: Mon, 16 Apr 2012 21:25:39 +0900 (JST)
Subject: [ruby-changes:23301] nobu:r35352 (trunk): * dln.c (rb_w32_check_imported): skip ordinal entries. patched by

nobu	2012-04-16 21:25:29 +0900 (Mon, 16 Apr 2012)

  New Revision: 35352

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35352

  Log:
    * dln.c (rb_w32_check_imported): skip ordinal entries.  patched by
      phasis68 (Heesob Park) at [ruby-core:44381].  [Bug #6303]

  Modified files:
    trunk/ChangeLog
    trunk/dln.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35351)
+++ ChangeLog	(revision 35352)
@@ -1,3 +1,8 @@
+Mon Apr 16 21:25:24 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* dln.c (rb_w32_check_imported): skip ordinal entries.  patched by
+	  phasis68 (Heesob Park) at [ruby-core:44381].  [Bug #6303]
+
 Mon Apr 16 18:22:14 2012  NARUSE, Yui  <naruse@r...>
 
 	* spec/default.mspec: expand relative path for ruby_exe which uses
Index: dln.c
===================================================================
--- dln.c	(revision 35351)
+++ dln.c	(revision 35352)
@@ -1215,9 +1215,13 @@
 	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) {
-	    PIMAGE_IMPORT_BY_NAME pii = (PIMAGE_IMPORT_BY_NAME)((char *)ext + (size_t)pint->u1.AddressOfData);
 	    static const char prefix[] = "rb_";
-	    const char *name = (const char *)pii->Name;
+	    PIMAGE_IMPORT_BY_NAME pii;
+	    const char *name;
+
+	    if (IMAGE_SNAP_BY_ORDINAL(pint->u1.Ordinal)) continue;
+	    pii = (PIMAGE_IMPORT_BY_NAME)((char *)ext + (size_t)pint->u1.AddressOfData);
+	    name = (const char *)pii->Name;
 	    if (strncmp(name, prefix, sizeof(prefix) - 1) == 0) {
 		FARPROC addr = GetProcAddress(mine, name);
 		if (addr) return (FARPROC)piat->u1.Function == addr;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]