From c21b454de2a54d294a12f2b1797c79425477fbe3 Mon Sep 17 00:00:00 2001 From: Vivek Saini Date: Thu, 14 Apr 2022 21:05:10 +0000 Subject: [PATCH] placement new instead of memcpy --- src/rdb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rdb.cpp b/src/rdb.cpp index 702ed9097..567ea0388 100644 --- a/src/rdb.cpp +++ b/src/rdb.cpp @@ -1665,7 +1665,7 @@ int launchRdbSaveThread(pthread_t &child, rdbSaveInfo *rsi) rdbSaveInfo rsiT; if (rsi == nullptr) rsi = &rsiT; - memcpy(&args->rsi, rsi, sizeof(rdbSaveInfo)); + args->rsi = *(new (args) rdbSaveInfo(*rsi)); memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid)); args->rsi.master_repl_offset = g_pserver->master_repl_offset; @@ -3772,7 +3772,7 @@ int rdbSaveToSlavesSockets(rdbSaveInfo *rsi) { args->rdb_pipe_write = pipefds[1]; /* write end */ anetNonBlock(NULL, g_pserver->rdb_pipe_read); - memcpy(&args->rsi, rsi, sizeof(rdbSaveInfo)); + args->rsi = *(new (args) rdbSaveInfo(*rsi)); memcpy(&args->rsi.repl_id, g_pserver->replid, sizeof(g_pserver->replid)); args->rsi.master_repl_offset = g_pserver->master_repl_offset;