eal: fix log message print for regex
authorSunil Kumar Kori <skori@marvell.com>
Mon, 9 Mar 2020 06:17:23 +0000 (11:47 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 13 Mar 2020 12:44:44 +0000 (13:44 +0100)
If user passes log-level eal parameter to enable log level based on regex
then in case of error message is being printed for pattern match instead of
regex. Following is the warning message thrown:

Compiling C object 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_options.c.o'.
In function ‘eal_parse_log_level’,
   inlined from ‘eal_parse_common_option’ at ../lib/librte_eal/common/eal_common_options.c:1418:7:
../lib/librte_eal/common/eal_common_options.c:1053:4: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
 1053 |    fprintf(stderr, "cannot set log level %s,%d\n",
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1054 |     pattern, priority);
      |     ~~~~~~~~~~~~~~~~~~

Fixes: 7f0bb634a140 ("log: add ability to match log type with globbing")
Cc: stable@dpdk.org
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
lib/librte_eal/common/eal_common_options.c

index 75974dd..525e51e 100644 (file)
@@ -1046,7 +1046,7 @@ eal_parse_log_level(const char *arg)
        if (regex) {
                if (rte_log_set_level_regexp(regex, priority) < 0) {
                        fprintf(stderr, "cannot set log level %s,%d\n",
-                               pattern, priority);
+                               regex, priority);
                        goto fail;
                }
                if (rte_log_save_regexp(regex, priority) < 0)