mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-02 21:32:58 +00:00
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:
parent
9d2779aeda
commit
ef766a053c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=319258
@ -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];
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user