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.
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;