From 9073db5cb1d3173aff62be5b48d00f0fb2890991 Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 27 Mar 2012 14:44:32 +0000 Subject: * io.c (io_unread): fixed memory leak. report by nagachika via IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'io.c') diff --git a/io.c b/io.c index d569e4d8d7..fac42c710b 100644 --- a/io.c +++ b/io.c @@ -473,6 +473,7 @@ io_unread(rb_io_t *fptr) } read_size = _read(fptr->fd, buf, fptr->rbuf.len + newlines); if (read_size < 0) { + free(buf); rb_sys_fail_path(fptr->pathv); } if (read_size == fptr->rbuf.len) { @@ -483,6 +484,7 @@ io_unread(rb_io_t *fptr) newlines--; } } + free(buf); fptr->rbuf.off = 0; fptr->rbuf.len = 0; return; -- cgit v1.2.3