diff options
Diffstat (limited to 'storagehandler.cpp')
-rw-r--r-- | storagehandler.cpp | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/storagehandler.cpp b/storagehandler.cpp index 929f3b6..65497b2 100644 --- a/storagehandler.cpp +++ b/storagehandler.cpp @@ -15,6 +15,7 @@ #include <algorithm> #include <chrono> #include <cstdio> +#include <cstring> #include <phosphor-logging/elog-errors.hpp> #include <phosphor-logging/log.hpp> #include <sdbusplus/server.hpp> @@ -145,7 +146,7 @@ ipmi_ret_t getSELInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd, } } - memcpy(response, outPayload.data(), outPayload.size()); + std::memcpy(response, outPayload.data(), outPayload.size()); *data_len = outPayload.size(); return IPMI_CC_OK; @@ -239,7 +240,7 @@ ipmi_ret_t getSELEntry(ipmi_netfn_t netfn, ipmi_cmd_t cmd, if (requestData->readLength == ipmi::sel::entireRecord) { - memcpy(response, &record, sizeof(record)); + std::memcpy(response, &record, sizeof(record)); *data_len = sizeof(record); } else @@ -255,9 +256,11 @@ ipmi_ret_t getSELEntry(ipmi_netfn_t netfn, ipmi_cmd_t cmd, auto readLength = std::min(diff, static_cast<int>(requestData->readLength)); - memcpy(response, &record.nextRecordID, sizeof(record.nextRecordID)); - memcpy(static_cast<uint8_t*>(response) + sizeof(record.nextRecordID), - &record.recordID + requestData->offset, readLength); + std::memcpy(response, &record.nextRecordID, + sizeof(record.nextRecordID)); + std::memcpy(static_cast<uint8_t*>(response) + + sizeof(record.nextRecordID), + &record.recordID + requestData->offset, readLength); *data_len = sizeof(record.nextRecordID) + readLength; } @@ -352,7 +355,7 @@ ipmi_ret_t deleteSELEntry(ipmi_netfn_t netfn, ipmi_cmd_t cmd, // Invalidate the cache of dbus entry objects. cache::paths.clear(); - memcpy(response, &delRecordID, sizeof(delRecordID)); + std::memcpy(response, &delRecordID, sizeof(delRecordID)); *data_len = sizeof(delRecordID); return IPMI_CC_OK; @@ -386,7 +389,7 @@ ipmi_ret_t clearSEL(ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request, */ if (requestData->eraseOperation == ipmi::sel::getEraseStatus) { - memcpy(response, &eraseProgress, sizeof(eraseProgress)); + std::memcpy(response, &eraseProgress, sizeof(eraseProgress)); *data_len = sizeof(eraseProgress); return IPMI_CC_OK; } @@ -407,7 +410,7 @@ ipmi_ret_t clearSEL(ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request, auto reply = bus.call(mapperCall); if (reply.is_method_error()) { - memcpy(response, &eraseProgress, sizeof(eraseProgress)); + std::memcpy(response, &eraseProgress, sizeof(eraseProgress)); *data_len = sizeof(eraseProgress); return IPMI_CC_OK; } @@ -415,14 +418,14 @@ ipmi_ret_t clearSEL(ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request, reply.read(objectPaths); if (objectPaths.empty()) { - memcpy(response, &eraseProgress, sizeof(eraseProgress)); + std::memcpy(response, &eraseProgress, sizeof(eraseProgress)); *data_len = sizeof(eraseProgress); return IPMI_CC_OK; } } catch (const sdbusplus::exception::SdBusError& e) { - memcpy(response, &eraseProgress, sizeof(eraseProgress)); + std::memcpy(response, &eraseProgress, sizeof(eraseProgress)); *data_len = sizeof(eraseProgress); return IPMI_CC_OK; } @@ -456,7 +459,7 @@ ipmi_ret_t clearSEL(ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request, // Invalidate the cache of dbus entry objects. cache::paths.clear(); - memcpy(response, &eraseProgress, sizeof(eraseProgress)); + std::memcpy(response, &eraseProgress, sizeof(eraseProgress)); *data_len = sizeof(eraseProgress); return IPMI_CC_OK; } @@ -518,7 +521,7 @@ ipmi_ret_t ipmi_storage_get_sel_time(ipmi_netfn_t netfn, ipmi_cmd_t cmd, *data_len = sizeof(resp); // Pack the actual response - memcpy(response, &resp, *data_len); + std::memcpy(response, &resp, *data_len); return IPMI_CC_OK; } @@ -587,7 +590,7 @@ ipmi_ret_t ipmi_storage_reserve_sel(ipmi_netfn_t netfn, ipmi_cmd_t cmd, *data_len = sizeof(g_sel_reserve); // Pack the actual response - memcpy(response, &g_sel_reserve, *data_len); + std::memcpy(response, &g_sel_reserve, *data_len); return rc; } @@ -608,7 +611,7 @@ ipmi_ret_t ipmi_storage_add_sel(ipmi_netfn_t netfn, ipmi_cmd_t cmd, *data_len = sizeof(g_sel_reserve); // Pack the actual response - memcpy(response, &p->eventdata[1], 2); + std::memcpy(response, &p->eventdata[1], 2); // Hostboot sends SEL with OEM record type 0xDE to indicate that there is // a maintenance procedure associated with eSEL record. @@ -655,7 +658,7 @@ ipmi_ret_t ipmi_storage_get_fru_inv_area_info( *data_len = sizeof(resp); // Pack the actual response - memcpy(response, &resp, *data_len); + std::memcpy(response, &resp, *data_len); } catch (const InternalFailure& e) { @@ -730,7 +733,7 @@ ipmi_ret_t ipmi_get_repository_info(ipmi_netfn_t netfn, ipmi_cmd_t cmd, constexpr auto sdrVersion = 0x51; auto responseData = reinterpret_cast<GetRepositoryInfoResponse*>(response); - memset(responseData, 0, sizeof(GetRepositoryInfoResponse)); + std::memset(responseData, 0, sizeof(GetRepositoryInfoResponse)); responseData->sdrVersion = sdrVersion; |