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

ruby-changes:23302

From: nobu <ko1@a...>
Date: Mon, 16 Apr 2012 21:26:40 +0900 (JST)
Subject: [ruby-changes:23302] nobu:r35353 (ruby_1_9_3): merge revision(s) 35352:

nobu	2012-04-16 21:26:30 +0900 (Mon, 16 Apr 2012)

  New Revision: 35353

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

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

  Modified files:
    branches/ruby_1_9_3/ChangeLog
    branches/ruby_1_9_3/dln.c
    branches/ruby_1_9_3/version.h

Index: ruby_1_9_3/ChangeLog
===================================================================
--- ruby_1_9_3/ChangeLog	(revision 35352)
+++ ruby_1_9_3/ChangeLog	(revision 35353)
@@ -1,3 +1,8 @@
+Mon Apr 16 21:26:20 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]
+
 Sun Apr 15 14:57:00 2012  Tanaka Akira  <akr@f...>
 
 	* test/test_pty.rb (test_pty_check_default): call PTY.check until
Index: ruby_1_9_3/dln.c
===================================================================
--- ruby_1_9_3/dln.c	(revision 35352)
+++ ruby_1_9_3/dln.c	(revision 35353)
@@ -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;
Index: ruby_1_9_3/version.h
===================================================================
--- ruby_1_9_3/version.h	(revision 35352)
+++ ruby_1_9_3/version.h	(revision 35353)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.3"
-#define RUBY_PATCHLEVEL 184
+#define RUBY_PATCHLEVEL 185
 
 #define RUBY_RELEASE_DATE "2012-04-16"
 #define RUBY_RELEASE_YEAR 2012

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

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