summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-17 17:09:07 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-17 17:09:07 +0000
commit4c9a4c333102faf6b905e26300151c81780411a2 (patch)
treedf65774e8ca39e90fcab4384ae320dcbe850841b /win32
parentf0aa371165d23f9681450a0d70e3ddf8c26a06c5 (diff)
merge revision(s) 43328: [Backport #9033]
* win32/file.c (rb_file_expand_path_internal): fix memory leaks at a non-absolute home exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r--win32/file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/win32/file.c b/win32/file.c
index 96fe61bad2..f20dedf06d 100644
--- a/win32/file.c
+++ b/win32/file.c
@@ -405,6 +405,7 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
if (PathIsRelativeW(whome) && !(whome_len >= 2 && IS_DIR_UNC_P(whome))) {
xfree(wpath);
+ xfree(whome);
rb_raise(rb_eArgError, "non-absolute home");
}
@@ -470,6 +471,7 @@ rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_na
if (PathIsRelativeW(whome) && !(whome_len >= 2 && IS_DIR_UNC_P(whome))) {
xfree(wpath);
xfree(wdir);
+ xfree(whome);
rb_raise(rb_eArgError, "non-absolute home");
}