From ae568477e7ceec9658e1ec561b0e885a0dd5f287 Mon Sep 17 00:00:00 2001 From: Christian Brueffer Date: Sat, 27 Aug 2011 15:28:57 +0000 Subject: [PATCH] Fix memory leaks in error cases. PR: 159011 Submitted by: Henning Petersen Approved by: re (kib) MFC after: 1 week --- bin/ed/buf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/ed/buf.c b/bin/ed/buf.c index db1f0e981bfb..b4b78a5565b5 100644 --- a/bin/ed/buf.c +++ b/bin/ed/buf.c @@ -94,6 +94,7 @@ put_sbuf_line(const char *cs) ; if (s - cs >= LINECHARS) { errmsg = "line too long"; + free(lp); return NULL; } len = s - cs; @@ -102,6 +103,7 @@ put_sbuf_line(const char *cs) if (fseeko(sfp, (off_t)0, SEEK_END) < 0) { fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot seek temp file"; + free(lp); return NULL; } sfseek = ftello(sfp); @@ -112,6 +114,7 @@ put_sbuf_line(const char *cs) sfseek = -1; fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot write temp file"; + free(lp); return NULL; } lp->len = len;