[systemd-commits] src/core

Michal Schmidt michich at kemper.freedesktop.org
Wed May 9 13:30:50 PDT 2012


 src/core/dbus-manager.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 1ebf0cb73dacaf12c095580d8223a83cc96e441d
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Wed May 9 21:42:56 2012 +0200

    dbus-manager: fix tainted string
    
    The pointer to the end of the string was not advanced after adding
    the "cgroups-missing" taint. If "local-hwclock" was detected too,
    it would overwrite the previous string.
    
    With 'e' always pointing to the end of the string, removing the last
    delimiter is easier.

diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 2e6bc3d..6ad1984 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -310,13 +310,14 @@ static int bus_manager_append_tainted(DBusMessageIter *i, const char *property,
                 free(p);
 
         if (access("/proc/cgroups", F_OK) < 0)
-                stpcpy(e, "cgroups-missing:");
+                e = stpcpy(e, "cgroups-missing:");
 
         if (hwclock_is_localtime() > 0)
-                stpcpy(e, "local-hwclock:");
+                e = stpcpy(e, "local-hwclock:");
 
-        if (endswith(buf, ":"))
-                buf[strlen(buf)-1] = 0;
+        /* remove the last ':' */
+        if (e != buf)
+                e[-1] = 0;
 
         t = buf;
 



More information about the systemd-commits mailing list