diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index f1ff59e96c..5d8a700e2a 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -1240,8 +1240,11 @@ namespace cryptonote if(b.size() != sizeof(crypto::key_image)) { res.status = "Failed, size of data mismatch"; + return true; } - key_images.push_back(*reinterpret_cast(b.data())); + key_images.emplace_back(); + crypto::key_image &ki = key_images.back(); + memcpy(&ki, b.data(), sizeof(crypto::key_image)); } std::vector spent_status; bool r = m_core.are_key_images_spent(key_images, spent_status);