fix: warning '-Wformat-overflow' with GCC 11.2
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 7 Mar 2022 16:28:19 +0000 (11:28 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 15 Mar 2022 20:43:32 +0000 (16:43 -0400)
Building with GCC 11.2 results in the following warning :

  In file included from rotation-thread.cpp:11:
  In function 'int handle_job_queue(rotation_thread_handle*, rotation_thread*, rotation_thread_timer_queue*)',
      inlined from 'void* thread_rotation(void*)' at rotation-thread.cpp:844:27:
  ../../../src/common/error.h:139:32: warning: '%s' directive argument is null [-Wformat-overflow=]
    139 |                         fprintf((type) == PRINT_MSG ? stdout : stderr, fmt, ## args);   \
        |                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../../../src/common/error.h:155:25: note: in expansion of macro '__lttng_print'
    155 |                         __lttng_print(type,                             \
        |                         ^~~~~~~~~~~~~
  ../../../src/common/error.h:195:27: note: in expansion of macro '_ERRMSG'
    195 | #define DBG(fmt, args...) _ERRMSG("DBG1", PRINT_DBG, fmt, ## args)
        |                           ^~~~~~~
  rotation-thread.cpp:587:25: note: in expansion of macro 'DBG'
    587 |                         DBG("Session \"%s\" not found",
        |                         ^~~

Use an empty string for the format string if 'session->name' is NULL.

Change-Id: Ibe29b43c0e8afd13b1c28770e8f7451340cc1e81
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/rotation-thread.cpp

index ecc4c3ea730513a16845dc42dd1aacecc798fb27..a2b92a858ae612254cafa8d8a13d05558c503bab 100644 (file)
@@ -585,7 +585,7 @@ int handle_job_queue(struct rotation_thread_handle *handle,
                session = job->session;
                if (!session) {
                        DBG("Session \"%s\" not found",
-                                       session->name);
+                                       session->name != NULL ? session->name : "");
                        /*
                         * This is a non-fatal error, and we cannot report it to
                         * the user (timer), so just print the error and
This page took 0.027513 seconds and 5 git commands to generate.