summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-01-17 13:20:02 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-01-17 13:27:55 +0100
commit5e518b5b4c9abb404055f38c2fc5061bf5530493 (patch)
treec6e939e3102f9148da541d3835c574e473bea9dd
parente653472573323a9abf910555fe38eb34b1f42840 (diff)
fix -Werror build: logging.c: always use literal with snprintf
A recent commit added an snprintf that passes a pointer to a literal directly to snprintf. Since passing pointers to printf formats is a vulnerability in case user supplied data may be passed in the format, modern compilers warn against that, which breaks our -Werror builds. Even though this is just a pointer to a literal, it needs to be an actual literal to make compilers happy. Use printf("%s", c) instead of printf(c). Note that our current build slave's gcc does not enforce that yet, while newer compilers do. logging.c:338:4: warning: format not a string literal and no format arguments [-Wformat-security] ret = snprintf(buf + offset, rem, c_subsys); Change-Id: Ifa4eb8a9fab66dcd987986065351b4a06421f1ec
-rw-r--r--src/logging.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/logging.c b/src/logging.c
index a6aa7eba..9b37bf53 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -335,7 +335,7 @@ static void _output(struct log_target *target, unsigned int subsys,
if (target->use_color) {
c_subsys = color(subsys);
if (c_subsys) {
- ret = snprintf(buf + offset, rem, c_subsys);
+ ret = snprintf(buf + offset, rem, "%s", c_subsys);
if (ret < 0)
goto err;
OSMO_SNPRINTF_RET(ret, rem, offset, len);