MFC r316535:

Fix memory leak in "gpart bootcode"

Also, annotate that gpart_issue never returns

Reported by:	Coverity
CID:		1007105
Sponsored by:	Spectra Logic Corp
This commit is contained in:
Alan Somers 2017-05-30 22:33:24 +00:00
parent 9d2779aeda
commit ef766a053c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=319258
2 changed files with 5 additions and 5 deletions

View File

@ -81,7 +81,7 @@ static int gpart_autofill(struct gctl_req *);
static int gpart_autofill_resize(struct gctl_req *);
static void gpart_bootcode(struct gctl_req *, unsigned int);
static void *gpart_bootfile_read(const char *, ssize_t *);
static void gpart_issue(struct gctl_req *, unsigned int);
static _Noreturn void gpart_issue(struct gctl_req *, unsigned int);
static void gpart_show(struct gctl_req *, unsigned int);
static void gpart_show_geom(struct ggeom *, const char *, int);
static int gpart_show_hasopt(struct gctl_req *, const char *, const char *);
@ -1259,6 +1259,7 @@ gpart_bootcode(struct gctl_req *req, unsigned int fl)
gpart_issue(req, fl);
geom_deletetree(&mesh);
free(partcode);
}
static void
@ -1279,7 +1280,7 @@ gpart_print_error(const char *errstr)
warnx("%s", errmsg);
}
static void
static _Noreturn void
gpart_issue(struct gctl_req *req, unsigned int fl __unused)
{
char buf[4096];

View File

@ -336,7 +336,7 @@ g_metadata_clear(const char *name, const char *magic)
goto out;
}
sectorsize = g_sectorsize(fd);
if (sectorsize == 0) {
if (sectorsize <= 0) {
error = errno;
goto out;
}
@ -365,8 +365,7 @@ g_metadata_clear(const char *name, const char *magic)
}
(void)g_flush(fd);
out:
if (sector != NULL)
free(sector);
free(sector);
g_close(fd);
return (error);
}