@@ -382,7 +382,7 @@ std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc(
382382 sockaddr_un addr_un{};
383383 addr_un.sun_family = AF_UNIX;
384384 strcpy (addr_un.sun_path , serverConfig.addr .c_str ());
385- addr = * reinterpret_cast <sockaddr_storage*>( &addr_un);
385+ std::memcpy (& addr, &addr_un, sizeof (sockaddr_un) );
386386 addrLen = sizeof (sockaddr_un);
387387
388388 status = session->setupPreconnectedClient ({}, [=]() {
@@ -394,7 +394,7 @@ std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc(
394394 sockaddr_un addr_un{};
395395 addr_un.sun_family = AF_UNIX;
396396 strcpy (addr_un.sun_path , serverConfig.addr .c_str ());
397- addr = * reinterpret_cast <sockaddr_storage*>( &addr_un);
397+ std::memcpy (& addr, &addr_un, sizeof (sockaddr_un) );
398398 addrLen = sizeof (sockaddr_un);
399399
400400 status = session->setupUnixDomainClient (serverConfig.addr .c_str ());
@@ -409,7 +409,7 @@ std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc(
409409 .svm_port = static_cast <unsigned int >(serverInfo.port ),
410410 .svm_cid = VMADDR_CID_LOCAL,
411411 };
412- addr = * reinterpret_cast <sockaddr_storage*>( &addr_vm);
412+ std::memcpy (& addr, &addr_vm, sizeof (sockaddr_vm) );
413413 addrLen = sizeof (sockaddr_vm);
414414
415415 status = session->setupVsockClient (VMADDR_CID_LOCAL, serverInfo.port );
@@ -420,7 +420,7 @@ std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc(
420420 addr_in.sin_family = AF_INET;
421421 addr_in.sin_port = htons (serverInfo.port );
422422 inet_aton (ip_addr.c_str (), &addr_in.sin_addr );
423- addr = * reinterpret_cast <sockaddr_storage*>( &addr_in);
423+ std::memcpy (& addr, &addr_in, sizeof (sockaddr_in) );
424424 addrLen = sizeof (sockaddr_in);
425425
426426 status = session->setupInetClient (ip_addr.c_str (), serverInfo.port );
0 commit comments