Date: Thu, 4 Jul 2002 13:24:11 +0200 From: Stefan Farfeleder <e0026813@stud3.tuwien.ac.at> To: Eugene Grosbein <eu@grosbein.pp.ru> Cc: FreeBSD-gnats-submit@FreeBSD.ORG, stable@FreeBSD.ORG Subject: Re: /bin/sh with builtin 'test' has memory leaks Message-ID: <20020704112411.GA254@frog.fafoe> In-Reply-To: <200207041016.g64AGhEF017182@grosbein.pp.ru> References: <200207041016.g64AGhEF017182@grosbein.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--bg08WKrSYDhXBjb5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Jul 04, 2002 at 06:16:43PM +0800, Eugene Grosbein wrote: > > >Description: > There seem to be memory leak in 'test' command that was not > a problem when it was external command but it became a problem > when 'test' was made builtin. Please try this patch. It isn't particularly elegant, but it cures the leak. Stefan Farfeleder --bg08WKrSYDhXBjb5 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="test.patch" Index: src/bin/test/test.c =================================================================== RCS file: /home/ncvs/src/bin/test/test.c,v retrieving revision 1.29.2.5 diff -u -r1.29.2.5 test.c --- src/bin/test/test.c 29 Apr 2002 13:06:02 -0000 1.29.2.5 +++ src/bin/test/test.c 4 Jul 2002 11:19:18 -0000 @@ -46,6 +46,7 @@ #ifndef __STDC__ const char *msg; + free(nargs); va_start(ap); msg = va_arg(ap, const char *); #else @@ -172,6 +173,7 @@ }; struct t_op const *t_wp_op; +char **nargv; char **t_wp; static int aexpr __P((enum token)); @@ -199,7 +201,6 @@ uid_t euid, uid; int i, res; char *p; - char **nargv; /* * XXX copy the whole contents of argv to a newly allocated @@ -240,6 +241,8 @@ syntax(*t_wp, "unexpected operator"); (void)setregid(gid, egid); (void)setreuid(uid, euid); + + free(nargv); return res; } --bg08WKrSYDhXBjb5-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020704112411.GA254>