From 29966e099c9004e1cc83b40750eb95cb13c4dbc4 Mon Sep 17 00:00:00 2001 From: michal Date: Wed, 28 Aug 2002 09:25:07 +0000 Subject: file.c: fix mem leak in rb_stat_init git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- file.c | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 901e65c675..95a970dd6c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Aug 28 18:19:55 2002 Michal Rokos + + * file.c: fix memory leak in rb_stat_init. + Wed Aug 28 17:45:03 2002 Nobuyoshi Nakada * win32/win32.c (kill): negate pid under Win9x. @@ -20,7 +24,6 @@ Wed Aug 28 15:00:29 2002 Yukihiro Matsumoto * string.c (rb_str_intern): ditto. ->>>>>>> 1.1095 Wed Aug 28 11:37:35 2002 NAKAMURA Usaku * win32/win32.h: define SIGINT and SIGKILL if not defined. diff --git a/file.c b/file.c index 20f0d791a8..719bb27557 100644 --- a/file.c +++ b/file.c @@ -2009,6 +2009,10 @@ rb_stat_init(obj, fname) if (stat(RSTRING(fname)->ptr, &st) == -1) { rb_sys_fail(RSTRING(fname)->ptr); } + if (DATA_PTR(obj)) { + free(DATA_PTR(obj)); + DATA_PTR(obj) = NULL; + } nst = ALLOC(struct stat); *nst = st; DATA_PTR(obj) = nst; -- cgit v1.2.3