]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic/journal-importer: Fix unaligned access in get_data_size() (#5622)
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Wed, 22 Mar 2017 02:36:50 +0000 (03:36 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 22 Mar 2017 02:36:50 +0000 (22:36 -0400)
src/basic/journal-importer.c

index d25fd358e8594ce1c127208dbd8bbb78fa88cad0..66119d2de14e0287dc228b2f6ee7232e59d75bed 100644 (file)
@@ -24,6 +24,7 @@
 #include "fd-util.h"
 #include "parse-util.h"
 #include "string-util.h"
+#include "unaligned.h"
 
 enum {
         IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
@@ -203,7 +204,7 @@ static int get_data_size(JournalImporter *imp) {
         if (r <= 0)
                 return r;
 
-        imp->data_size = le64toh( *(uint64_t *) data );
+        imp->data_size = unaligned_read_le64(data);
         if (imp->data_size > DATA_SIZE_MAX) {
                 log_error("Stream declares field with size %zu > DATA_SIZE_MAX = %u",
                           imp->data_size, DATA_SIZE_MAX);