Whamcloud - gitweb
e2image: fix invalid lseek error detection
authorLukas Czerner <lczerner@redhat.com>
Wed, 14 Sep 2011 17:27:44 +0000 (13:27 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 14 Sep 2011 17:49:04 +0000 (13:49 -0400)
In flush_l2_cache() we are using ext2fs_llseek() however we do not
properly detect the error code returned from the function, because we
are assigning it into ULL variable, hence we will not see negative
values.

Fix this by changing the type of the variable to ext2_loff_t which is
signed and hence will store negative values.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
misc/e2image.c

index 83a9d02..bf0c0d4 100644 (file)
@@ -759,7 +759,8 @@ static void put_used_table(struct ext2_qcow2_image *img,
 
 static void flush_l2_cache(struct ext2_qcow2_image *image)
 {
-       blk64_t offset, seek = 0;
+       blk64_t seek = 0;
+       ext2_loff_t offset;
        struct ext2_qcow2_l2_cache *cache = image->l2_cache;
        struct ext2_qcow2_l2_table *table = cache->used_head;
        int fd = image->fd;