diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 207e1e589c..0e8c019a01 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -1287,8 +1287,10 @@ 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())); + crypto::key_image &ki = key_images.emplace_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);