mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
daemon/zero: don't ignore write and close errors
* daemon/zero.c (do_zero): Detect write and close errors.
This commit is contained in:
@@ -41,10 +41,20 @@ do_zero (const char *device)
|
||||
|
||||
memset (buf, 0, sizeof buf);
|
||||
|
||||
int err = 0;
|
||||
int saved_errno = 0;
|
||||
for (i = 0; i < 32; ++i)
|
||||
(void) write (fd, buf, sizeof buf);
|
||||
if (write (fd, buf, sizeof buf) != sizeof buf) {
|
||||
saved_errno = errno;
|
||||
err = -1;
|
||||
}
|
||||
|
||||
close (fd);
|
||||
if (close (fd) && saved_errno == 0) {
|
||||
saved_errno = errno;
|
||||
err = -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
if (saved_errno)
|
||||
errno = saved_errno;
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user