sfdisk: cleanup before going out of scope [coverity scan]
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
6387bf33db
commit
2d1fa4fdc3
|
@ -365,13 +365,13 @@ static void backup_partition_table(struct sfdisk *sf, const char *devname)
|
||||||
static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_partition *orig_pa)
|
static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_partition *orig_pa)
|
||||||
{
|
{
|
||||||
struct fdisk_partition *pa = get_partition(sf->cxt, partno);
|
struct fdisk_partition *pa = get_partition(sf->cxt, partno);
|
||||||
char *devname, *typescript;
|
char *devname = NULL, *typescript = NULL, *buf = NULL;
|
||||||
FILE *f;
|
FILE *f = NULL;
|
||||||
int ok = 0, fd, backward = 0;
|
int ok = 0, fd, backward = 0;
|
||||||
fdisk_sector_t nsectors, from, to, step, i;
|
fdisk_sector_t nsectors, from, to, step, i;
|
||||||
size_t ss, step_bytes, cc;
|
size_t ss, step_bytes, cc;
|
||||||
uintmax_t src, dst;
|
uintmax_t src, dst;
|
||||||
char *buf;
|
int errsv;
|
||||||
|
|
||||||
assert(sf->movedata);
|
assert(sf->movedata);
|
||||||
|
|
||||||
|
@ -519,11 +519,18 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
|
||||||
free(buf);
|
free(buf);
|
||||||
free(devname);
|
free(devname);
|
||||||
free(typescript);
|
free(typescript);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
fail:
|
fail:
|
||||||
|
errsv = -errno;
|
||||||
warn(_("%s: failed to move data"), devname);
|
warn(_("%s: failed to move data"), devname);
|
||||||
fclose(f);
|
if (f)
|
||||||
return -errno;
|
fclose(f);
|
||||||
|
free(buf);
|
||||||
|
free(devname);
|
||||||
|
free(typescript);
|
||||||
|
|
||||||
|
return errsv;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int write_changes(struct sfdisk *sf)
|
static int write_changes(struct sfdisk *sf)
|
||||||
|
|
Loading…
Reference in New Issue