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

ruby-changes:23098

From: kazu <ko1@a...>
Date: Tue, 27 Mar 2012 17:27:31 +0900 (JST)
Subject: [ruby-changes:23098] kazu:r35148 (trunk): * win32/win32.c (check_if_dir): fix memory leak.

kazu	2012-03-27 17:27:19 +0900 (Tue, 27 Mar 2012)

  New Revision: 35148

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

  Log:
    * win32/win32.c (check_if_dir): fix memory leak.

  Modified files:
    trunk/ChangeLog
    trunk/win32/win32.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35147)
+++ ChangeLog	(revision 35148)
@@ -1,3 +1,7 @@
+Tue Mar 27 17:08:08 2012  Kazuhiro NISHIYAMA  <zn@m...>
+
+	* win32/win32.c (check_if_dir): fix memory leak.
+
 Tue Mar 27 13:13:51 2012  Nobuyoshi Nakada  <nobu@r...>
 
 	* string.c (str_new_empty): should copy also the encoding as an
Index: win32/win32.c
===================================================================
--- win32/win32.c	(revision 35147)
+++ win32/win32.c	(revision 35148)
@@ -5186,36 +5186,30 @@
 
 /* License: Ruby's */
 static int
-check_if_dir(const char *file)
+check_if_wdir(const WCHAR *wfile)
 {
-    DWORD attr;
-    WCHAR *wfile;
-
-    if (!(wfile = filecp_to_wstr(file, NULL)))
-	return FALSE;
-    attr = GetFileAttributesW(wfile);
+    DWORD attr = GetFileAttributesW(wfile);
     if (attr == (DWORD)-1L ||
 	!(attr & FILE_ATTRIBUTE_DIRECTORY) ||
 	check_valid_dir(wfile)) {
 	return FALSE;
     }
-    free(wfile);
     errno = EISDIR;
     return TRUE;
 }
 
 /* License: Ruby's */
 static int
-check_if_wdir(const WCHAR *wfile)
+check_if_dir(const char *file)
 {
-    DWORD attr = GetFileAttributesW(wfile);
-    if (attr == (DWORD)-1L ||
-	!(attr & FILE_ATTRIBUTE_DIRECTORY) ||
-	check_valid_dir(wfile)) {
+    WCHAR *wfile;
+    int ret;
+
+    if (!(wfile = filecp_to_wstr(file, NULL)))
 	return FALSE;
-    }
-    errno = EISDIR;
-    return TRUE;
+    ret = check_if_wdir(wfile);
+    free(wfile);
+    return ret;
 }
 
 /* License: Ruby's */

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

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