diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | io.c | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Tue Mar 27 23:44:11 2012 NAKAMURA Usaku <usa@ruby-lang.org> + + * io.c (io_unread): fixed memory leak. report by nagachika via IRC. + Tue Mar 27 22:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (verconf.h): separate load path specific stuff from @@ -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; |