1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 11:55:44 +03:00

volume_id: fix error handling with failing read()

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
This commit is contained in:
Kay Sievers 2005-09-14 14:29:59 +02:00
parent 129979643f
commit 726b21604a
2 changed files with 4 additions and 3 deletions

View File

@ -145,6 +145,7 @@ int main(int argc, char *argv[])
if (ioctl(vid->fd, BLKGETSIZE64, &size) != 0)
size = 0;
dbg("BLKGETSIZE64=%llu", size);
if (volume_id_probe_all(vid, 0, size) == 0)
goto print;

View File

@ -197,7 +197,7 @@ set:
uint8_t *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len)
{
size_t buf_len;
ssize_t buf_len;
dbg("get buffer off 0x%llx(%llu), len 0x%zx", (unsigned long long) off, (unsigned long long) off, len);
/* check if requested area fits in superblock buffer */
@ -224,7 +224,7 @@ uint8_t *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len)
}
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
id->sbbuf_len = buf_len;
if (buf_len < off + len) {
if ((size_t)buf_len < off + len) {
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
return NULL;
}
@ -261,7 +261,7 @@ uint8_t *volume_id_get_buffer(struct volume_id *id, uint64_t off, size_t len)
dbg("got 0x%zx (%zi) bytes", buf_len, buf_len);
id->seekbuf_off = off;
id->seekbuf_len = buf_len;
if (buf_len < len) {
if ((size_t)buf_len < len) {
dbg("requested 0x%zx bytes, got only 0x%zx bytes", len, buf_len);
return NULL;
}