]> err.no Git - systemd/commitdiff
journald: don't assume size_t and uint64_t are the same
authorLennart Poettering <lennart@poettering.net>
Wed, 11 Jan 2012 20:24:02 +0000 (21:24 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 11 Jan 2012 20:24:02 +0000 (21:24 +0100)
src/journal/journal-file.c

index 419e15e46fa583c36c808720c2d3e1281e038e10..6ba3d8dca37797cd159835edb4a542f8de87c2d2 100644 (file)
@@ -640,7 +640,8 @@ int journal_file_find_data_object_with_hash(
 
                 if (o->object.flags & OBJECT_COMPRESSED) {
 #ifdef HAVE_XZ
-                        uint64_t l, rsize;
+                        uint64_t l;
+                        size_t rsize;
 
                         l = le64toh(o->object.size);
                         if (l <= offsetof(Object, data.payload))
@@ -651,7 +652,7 @@ int journal_file_find_data_object_with_hash(
                         if (!uncompress_blob(o->data.payload, l, &f->compress_buffer, &f->compress_buffer_size, &rsize))
                                 return -EBADMSG;
 
-                        if (rsize == size &&
+                        if ((uint64_t) rsize == size &&
                             memcmp(f->compress_buffer, data, size) == 0) {
 
                                 if (ret)