summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/io.c b/io.c
index 6216a0d359..9abffb9519 100644
--- a/io.c
+++ b/io.c
@@ -1681,11 +1681,7 @@ rb_file_s_open(argc, argv, klass)
Check_SafeStr(fname);
path = RSTRING(fname)->ptr;
- if (RFILE(io)->fptr) {
- rb_io_close_m(io);
- free(RFILE(io)->fptr);
- RFILE(io)->fptr = 0;
- }
+ RFILE(io)->fptr = 0;
if (FIXNUM_P(vmode)) {
int flags = NUM2INT(vmode);
int fmode = NIL_P(perm) ? 0666 : NUM2INT(perm);