From: Lennart Poettering Date: Wed, 2 Nov 2016 18:02:53 +0000 (-0600) Subject: core: don't hit an assert when printing status messages about units with overly long... X-Git-Tag: v232~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=07ecca0dc9d2d8f3b3abd73ab32f254f339fd903;p=thirdparty%2Fsystemd.git core: don't hit an assert when printing status messages about units with overly long description strings This essentially reverts one part of d054f0a4d451120c26494263fc4dc175bfd405b1. (We might also choose to use proper ellipsation here, but I wasn't sure the memory allocation this requires wouöld be a good idea here...) Fixes: #4534 --- diff --git a/src/core/job.c b/src/core/job.c index 3ecc8a1a73b..d8b170b9832 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -767,8 +767,9 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) { if (!format) return; + /* The description might be longer than the buffer, but that's OK, we'll just truncate it here */ DISABLE_WARNING_FORMAT_NONLITERAL; - xsprintf(buf, format, unit_description(u)); + snprintf(buf, sizeof(buf), format, unit_description(u)); REENABLE_WARNING; switch (t) {