teknoraver / rpms / systemd

Forked from rpms/systemd 3 months ago
Clone

Blame 0044-journald-use-unaligned_read-instead-of-memcpy.patch

Zbigniew Jędrzejewski-Szmek d743bb
From 32fb431ebca202f885257c50574bf1c13939e5e9 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek d743bb
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek d743bb
Date: Sat, 13 May 2017 22:42:08 -0400
Zbigniew Jędrzejewski-Szmek d743bb
Subject: [PATCH] journald: use unaligned_read instead of memcpy
Zbigniew Jędrzejewski-Szmek d743bb
Zbigniew Jędrzejewski-Szmek d743bb
(cherry picked from commit 731e10f3c588a31936454d3207155c497219d99a)
Zbigniew Jędrzejewski-Szmek d743bb
---
Zbigniew Jędrzejewski-Szmek d743bb
 src/journal/journald-native.c | 5 ++---
Zbigniew Jędrzejewski-Szmek d743bb
 1 file changed, 2 insertions(+), 3 deletions(-)
Zbigniew Jędrzejewski-Szmek d743bb
Zbigniew Jędrzejewski-Szmek d743bb
diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c
Zbigniew Jędrzejewski-Szmek d743bb
index c9bf3832c7..d839e04488 100644
Zbigniew Jędrzejewski-Szmek d743bb
--- a/src/journal/journald-native.c
Zbigniew Jędrzejewski-Szmek d743bb
+++ b/src/journal/journald-native.c
Zbigniew Jędrzejewski-Szmek d743bb
@@ -40,6 +40,7 @@
Zbigniew Jędrzejewski-Szmek d743bb
 #include "selinux-util.h"
Zbigniew Jędrzejewski-Szmek d743bb
 #include "socket-util.h"
Zbigniew Jędrzejewski-Szmek d743bb
 #include "string-util.h"
Zbigniew Jędrzejewski-Szmek d743bb
+#include "unaligned.h"
Zbigniew Jędrzejewski-Szmek d743bb
 
Zbigniew Jędrzejewski-Szmek d743bb
 bool valid_user_field(const char *p, size_t l, bool allow_protected) {
Zbigniew Jędrzejewski-Szmek d743bb
         const char *a;
Zbigniew Jędrzejewski-Szmek d743bb
@@ -218,7 +219,6 @@ void server_process_native_message(
Zbigniew Jędrzejewski-Szmek d743bb
                         p = e + 1;
Zbigniew Jędrzejewski-Szmek d743bb
                         continue;
Zbigniew Jędrzejewski-Szmek d743bb
                 } else {
Zbigniew Jędrzejewski-Szmek d743bb
-                        le64_t l_le;
Zbigniew Jędrzejewski-Szmek d743bb
                         uint64_t l;
Zbigniew Jędrzejewski-Szmek d743bb
                         char *k;
Zbigniew Jędrzejewski-Szmek d743bb
 
Zbigniew Jędrzejewski-Szmek d743bb
@@ -227,8 +227,7 @@ void server_process_native_message(
Zbigniew Jędrzejewski-Szmek d743bb
                                 break;
Zbigniew Jędrzejewski-Szmek d743bb
                         }
Zbigniew Jędrzejewski-Szmek d743bb
 
Zbigniew Jędrzejewski-Szmek d743bb
-                        memcpy(&l_le, e + 1, sizeof(uint64_t));
Zbigniew Jędrzejewski-Szmek d743bb
-                        l = le64toh(l_le);
Zbigniew Jędrzejewski-Szmek d743bb
+                        l = unaligned_read_le64(e + 1);
Zbigniew Jędrzejewski-Szmek d743bb
 
Zbigniew Jędrzejewski-Szmek d743bb
                         if (l > DATA_SIZE_MAX) {
Zbigniew Jędrzejewski-Szmek d743bb
                                 log_debug("Received binary data block of %"PRIu64" bytes is too large, ignoring.", l);