From: Lennart Poettering Date: Wed, 11 Jan 2012 20:24:02 +0000 (+0100) Subject: journald: don't assume size_t and uint64_t are the same X-Git-Tag: v39~76 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f120cc6a2eeea1b695222ff6e8e83b4f14ace59;p=systemd journald: don't assume size_t and uint64_t are the same --- diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 419e15e4..6ba3d8dc 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -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)