Author: brueffer
Date: Sat Aug 27 15:28:57 2011
New Revision: 225215
URL: http://svn.freebsd.org/changeset/base/225215

Log:
  Fix memory leaks in error cases.
  
  PR:           159011
  Submitted by: Henning Petersen <henning.peter...@t-online.de>
  Approved by:  re (kib)
  MFC after:    1 week

Modified:
  head/bin/ed/buf.c

Modified: head/bin/ed/buf.c
==============================================================================
--- head/bin/ed/buf.c   Sat Aug 27 14:24:27 2011        (r225214)
+++ head/bin/ed/buf.c   Sat Aug 27 15:28:57 2011        (r225215)
@@ -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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to