diff options
author | marcel <marcel@FreeBSD.org> | 2004-01-28 03:38:25 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-01-28 03:38:25 +0000 |
commit | 58948e726184fc748538cd77b12482414becaf10 (patch) | |
tree | b7919a5c8f5b7377783dff2efcbeaa4b92fe2d66 /lib/libdisk | |
parent | 3f0b112d3c6b53e15a963aa29f36cc0fb2a855fc (diff) | |
download | FreeBSD-src-58948e726184fc748538cd77b12482414becaf10.zip FreeBSD-src-58948e726184fc748538cd77b12482414becaf10.tar.gz |
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.
Diffstat (limited to 'lib/libdisk')
-rw-r--r-- | lib/libdisk/write_ia64_disk.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libdisk/write_ia64_disk.c b/lib/libdisk/write_ia64_disk.c index 7ec82ad..b57bbd8 100644 --- a/lib/libdisk/write_ia64_disk.c +++ b/lib/libdisk/write_ia64_disk.c @@ -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); |