aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/acme/rows.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/acme/rows.c')
-rw-r--r--src/cmd/acme/rows.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/acme/rows.c b/src/cmd/acme/rows.c
index 11014c2c..9fa54248 100644
--- a/src/cmd/acme/rows.c
+++ b/src/cmd/acme/rows.c
@@ -663,12 +663,12 @@ rowload(Row *row, char *file, int initing)
break;
wincleartag(w);
textinsert(&w->tag, w->tag.file->b.nc, r+n+1, nr-(n+1), TRUE);
- free(r);
if(ndumped >= 0){
/* simplest thing is to put it in a file and load that */
sprint(buf, "/tmp/d%d.%.4sacme", getpid(), getuser());
fd = create(buf, OWRITE|ORCLOSE, 0600);
if(fd < 0){
+ free(r);
warning(nil, "can't create temp file: %r\n");
goto Rescue2;
}
@@ -679,6 +679,7 @@ rowload(Row *row, char *file, int initing)
if(rune == '\n')
line++;
if(rune == (Rune)Beof){
+ free(r);
Bterm(bout);
free(bout);
close(fd);
@@ -696,6 +697,7 @@ rowload(Row *row, char *file, int initing)
winsettag(w);
}else if(dumpid==0 && r[ns+1]!='+' && r[ns+1]!='-')
get(&w->body, nil, nil, FALSE, XXX, nil, 0);
+ free(r);
if(fontr){
fontx(&w->body, nil, nil, 0, 0, fontr, nfontr);
free(fontr);