From e1fc3a0e29b608110f0965a19f35d85fb3df03e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 14 Jul 2023 12:52:19 +0200 Subject: [PATCH 1/2] =?UTF-8?q?tag:=20explicitly=20initialize=20=E2=80=98f?= =?UTF-8?q?mt=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the following compiler warning/error: In file included from /usr/include/stdio.h:906, from ../tag.c:6: In function ‘snprintf’, inlined from ‘tags_expand_template’ at ../tag.c:708:13: /usr/include/bits/stdio2.h:54:10: error: ‘fmt’ may be used uninitialized [-Werror=maybe-uninitialized] 54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 55 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ ../tag.c: In function ‘tags_expand_template’: ../tag.c:677:25: note: ‘fmt’ was declared here 677 | const char *fmt; | ^~~ cc1: all warnings being treated as errors Closes #311 --- tag.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tag.c b/tag.c index b098eb7..0f44d7e 100644 --- a/tag.c +++ b/tag.c @@ -674,7 +674,7 @@ tags_expand_template(const char *template, const struct tag_set *tags) const long max = tag->max(tag); long value = kind == VALUE_MIN ? min : max; - const char *fmt; + const char *fmt = NULL; switch (format) { case FMT_DEFAULT: fmt = zero_pad ? "%0*ld" : "%*ld"; break; case FMT_HEX: fmt = zero_pad ? "%0*lx" : "%*lx"; break; @@ -704,6 +704,8 @@ tags_expand_template(const char *template, const struct tag_set *tags) } } + assert(fmt != NULL); + char str[24]; snprintf(str, sizeof(str), fmt, digits, value); sbuf_append(&formatted, str); From 42cef9373e27d10275a1e14fc5fbbbc7f15cffab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Fri, 14 Jul 2023 12:54:23 +0200 Subject: [PATCH 2/2] =?UTF-8?q?changelog:=20"=E2=80=98fmt=E2=80=99=20may?= =?UTF-8?q?=20be=20used=20uninitialized"=20compiler=20warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c94058a..73d0100 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,12 @@ ### Deprecated ### Removed ### Fixed + +* Compiler error _‘fmt’ may be used uninitialized_ ([#311][311]). + +[311]: https://codeberg.org/dnkl/yambar/issues/311 + + ### Security ### Contributors