From 726b21604aa5132090a6be1068da7f58069849ab Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 14 Sep 2005 14:29:59 +0200 Subject: [PATCH] volume_id: fix error handling with failing read() Signed-off-by: Kay Sievers --- extras/volume_id/vol_id.c | 1 + extras/volume_id/volume_id/util.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/extras/volume_id/vol_id.c b/extras/volume_id/vol_id.c index 3c75bdaa2..2b53085c7 100644 --- a/extras/volume_id/vol_id.c +++ b/extras/volume_id/vol_id.c @@ -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; diff --git a/extras/volume_id/volume_id/util.c b/extras/volume_id/volume_id/util.c index 62b96a365..d1271a86b 100644 --- a/extras/volume_id/volume_id/util.c +++ b/extras/volume_id/volume_id/util.c @@ -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; } -- 2.30.2