mirror of
https://github.com/systemd/systemd.git
synced 2025-02-04 21:47:31 +03:00
job: truncate unit description
The comment above says we're truncating the string but that's not true, an assert will fail in xsprintf if the description is longer than LINE_MAX. Let's use snprintf instead of xsprintf to make sure it's truncated. We'll cast its result to void to tell static checkers we're fine with truncation.
This commit is contained in:
parent
9371f858a5
commit
574432f889
@ -776,9 +776,12 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
|
|||||||
if (!format)
|
if (!format)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* The description might be longer than the buffer, but that's OK, we'll just truncate it here */
|
/* The description might be longer than the buffer, but that's OK,
|
||||||
|
* we'll just truncate it here. Note that we use snprintf() rather than
|
||||||
|
* xsprintf() on purpose here: we are fine with truncation and don't
|
||||||
|
* consider that an error. */
|
||||||
DISABLE_WARNING_FORMAT_NONLITERAL;
|
DISABLE_WARNING_FORMAT_NONLITERAL;
|
||||||
xsprintf(buf, format, unit_description(u));
|
(void) snprintf(buf, sizeof(buf), format, unit_description(u));
|
||||||
REENABLE_WARNING;
|
REENABLE_WARNING;
|
||||||
|
|
||||||
switch (t) {
|
switch (t) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user