summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2004-02-05 08:39:38 +0000
committerpjd <pjd@FreeBSD.org>2004-02-05 08:39:38 +0000
commit38bd67169dd86a3ba8164dd28f6a04d622b37d4c (patch)
tree27804bedebbf55cae4d4f4c72a2e4285f9cf31cc /sbin
parente7d6996c0b8f1812a868fd13e10979e1ebf398fb (diff)
downloadFreeBSD-src-38bd67169dd86a3ba8164dd28f6a04d622b37d4c.zip
FreeBSD-src-38bd67169dd86a3ba8164dd28f6a04d622b37d4c.tar.gz
Fixed some non-critical memory leaks and one temporary file leak
(theoretical). Approved by: phk, scottl (mentor)
Diffstat (limited to 'sbin')
-rw-r--r--sbin/gbde/gbde.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sbin/gbde/gbde.c b/sbin/gbde/gbde.c
index e5483db..d038e7b 100644
--- a/sbin/gbde/gbde.c
+++ b/sbin/gbde/gbde.c
@@ -362,6 +362,7 @@ cmd_nuke(struct g_bde_key *gl, int dfd , int key)
if (offset2 != offset)
err(1, "lseek");
i = write(dfd, sbuf, gl->sectorsize);
+ free(sbuf);
if (i != (int)gl->sectorsize)
err(1, "write");
printf("Nuked key %d\n", key);
@@ -444,6 +445,7 @@ cmd_write(struct g_bde_key *gl, struct g_bde_softc *sc, int dfd , int key, const
if (i != (int)gl->sectorsize)
err(1, "write");
printf("Wrote key %d at %jd\n", key, (intmax_t)offset);
+ free(sbuf);
#if 0
printf("s0 = %jd\n", (intmax_t)gl->sector0);
printf("sN = %jd\n", (intmax_t)gl->sectorN);
@@ -518,8 +520,10 @@ cmd_init(struct g_bde_key *gl, int dfd, const char *f_opt, int i_opt, const char
if (p == NULL)
p = "vi";
if (snprintf(cbuf, sizeof(cbuf), "%s %s\n", p, q) >=
- (ssize_t)sizeof(cbuf))
+ (ssize_t)sizeof(cbuf)) {
+ unlink(q);
errx(1, "EDITOR is too long");
+ }
system(cbuf);
}
i = open(q, O_RDONLY);
@@ -528,6 +532,7 @@ cmd_init(struct g_bde_key *gl, int dfd, const char *f_opt, int i_opt, const char
params = properties_read(i);
close (i);
unlink(q);
+ free(q);
}
/* <sector_size> */
OpenPOWER on IntegriCloud