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/