From 54851d3c6523b544c127fa0420e4b58fb1f046f4 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 6 Mar 2001 20:44:39 +0000 Subject: Fixed a memory leak in lash. It seems that close_all was calling close() directly instead of calling mark_closed(), which allowed the memory allocated by mark_open() to never be freed. -Erik --- lash.c | 2 +- sh.c | 2 +- shell/lash.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lash.c b/lash.c index 57d969e40..11016a009 100644 --- a/lash.c +++ b/lash.c @@ -632,7 +632,7 @@ static void close_all() { struct close_me *c; for (c=close_me_head; c; c=c->next) { - close(c->fd); + mark_closed(c->fd); } close_me_head = NULL; } diff --git a/sh.c b/sh.c index 57d969e40..11016a009 100644 --- a/sh.c +++ b/sh.c @@ -632,7 +632,7 @@ static void close_all() { struct close_me *c; for (c=close_me_head; c; c=c->next) { - close(c->fd); + mark_closed(c->fd); } close_me_head = NULL; } diff --git a/shell/lash.c b/shell/lash.c index 57d969e40..11016a009 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -632,7 +632,7 @@ static void close_all() { struct close_me *c; for (c=close_me_head; c; c=c->next) { - close(c->fd); + mark_closed(c->fd); } close_me_head = NULL; } -- cgit v1.2.3