On 20/11/18 16:27, Marc-André Lureau wrote:
Adding an assert is enough to silence GCC.

~/src/qemu/migration/global_state.c: In function 'global_state_store_running':
~/src/qemu/migration/global_state.c:45:5: error: 'strncpy' specified bound 100 
equals destination size [-Werror=stringop-truncation]
      strncpy((char *)global_state.runstate,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             state, sizeof(global_state.runstate));
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

(alternatively, we could hard-code "running")

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>

---
  migration/global_state.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/migration/global_state.c b/migration/global_state.c
index 8e8ab5c51e..01805c567a 100644
--- a/migration/global_state.c
+++ b/migration/global_state.c
@@ -42,6 +42,7 @@ int global_state_store(void)
  void global_state_store_running(void)
  {
      const char *state = RunState_str(RUN_STATE_RUNNING);
+    assert(strlen(state) < sizeof(global_state.runstate));
      strncpy((char *)global_state.runstate,
             state, sizeof(global_state.runstate));
  }


Reply via email to