merge revision(s) 25181:

* io.c (rb_io_fptr_finalize): free fptr to avoid memory leaks.
	  fixed: #2009   [ruby-core:25173] [ruby-dev:39410]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@25852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2009-11-19 06:51:19 +00:00
parent 6cef092f68
commit 2dae3d23d2
3 changed files with 10 additions and 5 deletions

View file

@ -1,3 +1,8 @@
Thu Nov 19 15:34:40 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (rb_io_fptr_finalize): free fptr to avoid memory leaks.
fixed: #2009 [ruby-core:25173] [ruby-dev:39410]
Thu Nov 19 15:27:17 2009 Marc-Andre Lafortune <ruby-core@marc-andre.ca> Thu Nov 19 15:27:17 2009 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/net/http.rb (transport_request): Handle timeout error by * lib/net/http.rb (transport_request): Handle timeout error by

6
io.c
View file

@ -2334,11 +2334,11 @@ rb_io_fptr_finalize(fptr)
if (fptr->path) { if (fptr->path) {
free(fptr->path); free(fptr->path);
} }
if (!fptr->f && !fptr->f2) return; if ((fptr->f && fileno(fptr->f) > 2) || fptr->f2) {
if (fileno(fptr->f) < 3) return;
rb_io_fptr_cleanup(fptr, Qtrue); rb_io_fptr_cleanup(fptr, Qtrue);
} }
xfree(fptr);
}
VALUE VALUE
rb_io_close(io) rb_io_close(io)

View file

@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2009-11-19" #define RUBY_RELEASE_DATE "2009-11-19"
#define RUBY_VERSION_CODE 187 #define RUBY_VERSION_CODE 187
#define RUBY_RELEASE_CODE 20091119 #define RUBY_RELEASE_CODE 20091119
#define RUBY_PATCHLEVEL 213 #define RUBY_PATCHLEVEL 214
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_MINOR 8