From: Lennart Poettering Date: Tue, 5 Mar 2013 14:02:38 +0000 (+0100) Subject: journald: stpcpy() + mempcpy() are awesome X-Git-Tag: v198~76 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=fc7b7e2e74ed0c4ce2bda91d693240c9dcd0d526 journald: stpcpy() + mempcpy() are awesome --- diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index c1ec0fad3..654f7ace2 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -620,9 +620,7 @@ static void dispatch_message_real( if (label) { selinux_context = malloc(sizeof("_SELINUX_CONTEXT=") + label_len); if (selinux_context) { - memcpy(selinux_context, "_SELINUX_CONTEXT=", sizeof("_SELINUX_CONTEXT=")-1); - memcpy(selinux_context+sizeof("_SELINUX_CONTEXT=")-1, label, label_len); - selinux_context[sizeof("_SELINUX_CONTEXT=")-1+label_len] = 0; + *((char*) mempcpy(stpcpy(selinux_context, "_SELINUX_CONTEXT="), label, label_len)) = 0; IOVEC_SET_STRING(iovec[n++], selinux_context); } } else { @@ -632,7 +630,6 @@ static void dispatch_message_real( selinux_context = strappend("_SELINUX_CONTEXT=", con); if (selinux_context) IOVEC_SET_STRING(iovec[n++], selinux_context); - freecon(con); } }