aboutsummaryrefslogtreecommitdiffstats
path: root/tools/blktap
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-05-24 14:07:40 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-05-24 14:07:40 +0100
commitecc82ca3e65191dca1bd7eacf4698cd81801f24e (patch)
tree8a41cc34ffe4420e2bff8727cbc977595a768c35 /tools/blktap
parent1c77b7cb9f97eeb025af6d38753b3917e026c4ee (diff)
downloadxen-ecc82ca3e65191dca1bd7eacf4698cd81801f24e.tar.gz
xen-ecc82ca3e65191dca1bd7eacf4698cd81801f24e.tar.bz2
xen-ecc82ca3e65191dca1bd7eacf4698cd81801f24e.zip
blktap: Fix compile errors
When compiling the various blktap drivers with warnings cranked up, I get errors that return values are not checked. Signed-off-by: Charles Coffing <ccoffing@novell.com>
Diffstat (limited to 'tools/blktap')
-rw-r--r--tools/blktap/drivers/blktapctrl.c5
-rw-r--r--tools/blktap/drivers/block-qcow.c9
-rw-r--r--tools/blktap/drivers/block-vmdk.c5
3 files changed, 13 insertions, 6 deletions
diff --git a/tools/blktap/drivers/blktapctrl.c b/tools/blktap/drivers/blktapctrl.c
index a0b2f349d0..aeec870af2 100644
--- a/tools/blktap/drivers/blktapctrl.c
+++ b/tools/blktap/drivers/blktapctrl.c
@@ -678,7 +678,10 @@ int main(int argc, char *argv[])
__init_blkif();
snprintf(buf, sizeof(buf), "BLKTAPCTRL[%d]", getpid());
openlog(buf, LOG_CONS|LOG_ODELAY, LOG_DAEMON);
- daemon(0,0);
+ if (daemon(0,0)) {
+ DPRINTF("daemon failed (%d)\n", errno);
+ goto open_failed;
+ }
print_drivers();
init_driver_list();
diff --git a/tools/blktap/drivers/block-qcow.c b/tools/blktap/drivers/block-qcow.c
index 5eaf141758..a1fab17c55 100644
--- a/tools/blktap/drivers/block-qcow.c
+++ b/tools/blktap/drivers/block-qcow.c
@@ -745,7 +745,10 @@ found:
}
memcpy(tmp_ptr2, l2_ptr, 4096);
lseek(s->fd, l2_offset + (l2_sector << 12), SEEK_SET);
- write(s->fd, tmp_ptr2, 4096);
+ if (write(s->fd, tmp_ptr2, 4096) != 4096) {
+ free(tmp_ptr2);
+ return -1;
+ }
free(tmp_ptr2);
}
return cluster_offset;
@@ -1252,8 +1255,8 @@ int qcow_create(const char *filename, uint64_t total_size,
strncpy(backing_filename, backing_file,
sizeof(backing_filename));
} else {
- realpath(backing_file, backing_filename);
- if (stat(backing_filename, &st) != 0) {
+ if (realpath(backing_file, backing_filename) == NULL ||
+ stat(backing_filename, &st) != 0) {
return -1;
}
}
diff --git a/tools/blktap/drivers/block-vmdk.c b/tools/blktap/drivers/block-vmdk.c
index 4ab88373ea..f6b720e1e0 100644
--- a/tools/blktap/drivers/block-vmdk.c
+++ b/tools/blktap/drivers/block-vmdk.c
@@ -283,8 +283,9 @@ static uint64_t get_cluster_offset(struct tdvmdk_state *prv,
if (!allocate)
return 0;
cluster_offset = lseek(prv->fd, 0, SEEK_END);
- ftruncate(prv->fd, cluster_offset +
- (prv->cluster_sectors << 9));
+ if (ftruncate(prv->fd, cluster_offset +
+ (prv->cluster_sectors << 9)))
+ return 0;
cluster_offset >>= 9;
/* update L2 table */
tmp = cpu_to_le32(cluster_offset);