Fix an uninitialized variable bug that caused write_pmbr() to bogusly

return an error value that made Write_Disk() abort.  While on the
subject, improve the initialization of the error variable in read_gpt()
and update_gpt() even though nothing was broken there.
This commit is contained in:
Marcel Moolenaar 2004-01-28 03:38:25 +00:00
parent 18d948adb1
commit 94635227fd
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=125124

View file

@ -121,6 +121,7 @@ write_pmbr(int fd, const struct disk *disk)
u_long nsects;
int error;
error = 0;
nsects = disk->media_size / disk->sector_size;
buffer = calloc(disk->sector_size, 1);
if (buffer == NULL)
@ -153,6 +154,7 @@ read_gpt(int fd, const struct disk *disk, struct gpt_hdr *hdr,
size_t nsects, sz;
int error, i;
error = 0;
nsects = disk->gpt_size * sizeof(struct gpt_ent) / disk->sector_size;
nsects++;
sz = nsects * disk->sector_size;
@ -191,7 +193,6 @@ read_gpt(int fd, const struct disk *disk, struct gpt_hdr *hdr,
uuid_create(&tbl[i].ent_uuid, NULL);
}
error = 0;
goto bail;
}
@ -213,7 +214,6 @@ read_gpt(int fd, const struct disk *disk, struct gpt_hdr *hdr,
goto bail;
}
memcpy(&hdr[1], buffer, sizeof(struct gpt_hdr));
error = 0;
bail:
free(buffer);
@ -231,6 +231,8 @@ update_gpt(int fd, const struct disk *disk, struct gpt_hdr *hdr,
size_t bufsz;
int error, idx, sav;
error = 0;
/*
* Save the entries of those chunks that have an index. They are
* the ones that exist on disk already.
@ -358,7 +360,6 @@ update_gpt(int fd, const struct disk *disk, struct gpt_hdr *hdr,
error = (errno) ? errno : EAGAIN;
goto bail;
}
error = 0;
bail:
free(buffer);