[OpenWrt-Devel] [PATCH] firewall: Fix Wformat-nonliteral warning

Jonas Gorski jonas.gorski at gmail.com
Sun Dec 1 08:55:11 EST 2019


Hi,

On Fri, 29 Nov 2019 at 22:06, Rosen Penev <rosenp at gmail.com> wrote:
>
> Allows GCC to check the formats by switching to a define, which is a
> constant expression.
>
> Fixes:
>
> warning: format not a string literal, argument types not checked
> [-Wformat-nonliteral]
>   207 |  snprintf(buf, sizeof(buf), tmpl, include->path);
>
> Signed-off-by: Rosen Penev <rosenp at gmail.com>
> ---
>  includes.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/includes.c b/includes.c
> index 23b2244..1e759fb 100644
> --- a/includes.c
> +++ b/includes.c
> @@ -188,11 +188,11 @@ run_include(struct fw3_include *include)
>  {
>         int rv;
>         struct stat s;
> -       const char *tmpl =
> -               "config() { "
> -                       "echo \"You cannot use UCI in firewall includes!\" >&2; "
> -                       "exit 1; "
> -               "}; . %s";
> +       #define tmpl \
> +               "config() { " \
> +                       "echo \"You cannot use UCI in firewall includes!\" >&2; " \
> +                       "exit 1; " \
> +               "}; . %s"

defines are global, so they should be at top of the file, use caps for
the name, and have a less generic name than "templ" (or "format").
Same comment for the other patches doing the same thing.


Regards
Jonas

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list