Initialize variables
Some commands were returning uninitialized data in failure
cases. This initializes the variables to avoid the garbage
data.
Tested:
Ran each PECI command and confirmed that they each still
behave correctly.
Change-Id: I1b774d038e20ca17c62cf0586a715767f373dc8a
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/peci.c b/peci.c
index ba38e00..2627a03 100644
--- a/peci.c
+++ b/peci.c
@@ -47,7 +47,7 @@
*------------------------------------------------------------------------*/
EPECIStatus peci_Lock(int* peci_fd, int timeout_ms)
{
- struct timespec sRequest;
+ struct timespec sRequest = {};
sRequest.tv_sec = 0;
sRequest.tv_nsec = PECI_TIMEOUT_RESOLUTION_MS * 1000 * 1000;
int timeout_count = 0;
@@ -141,8 +141,8 @@
};
uint8_t u8Bus0 = 0;
uint8_t u8Offset = 0;
- EPECIStatus ret;
- uint8_t u8Reg[4];
+ EPECIStatus ret = PECI_CC_SUCCESS;
+ uint8_t u8Reg[4] = {};
uint8_t cc = 0;
// First check for valid inputs
@@ -203,7 +203,7 @@
EPECIStatus peci_Ping(uint8_t target)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
// The target address must be in the valid range
if (target < MIN_CLIENT_ADDR || target > MAX_CLIENT_ADDR)
@@ -227,8 +227,8 @@
*------------------------------------------------------------------------*/
EPECIStatus peci_Ping_seq(uint8_t target, int peci_fd)
{
- EPECIStatus ret;
- struct peci_ping_msg cmd;
+ EPECIStatus ret = PECI_CC_SUCCESS;
+ struct peci_ping_msg cmd = {};
// The target address must be in the valid range
if (target < MIN_CLIENT_ADDR || target > MAX_CLIENT_ADDR)
@@ -248,7 +248,7 @@
EPECIStatus peci_GetDIB(uint8_t target, uint64_t* dib)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (dib == NULL)
{
@@ -277,8 +277,8 @@
*------------------------------------------------------------------------*/
EPECIStatus peci_GetDIB_seq(uint8_t target, uint64_t* dib, int peci_fd)
{
- struct peci_get_dib_msg cmd;
- EPECIStatus ret;
+ struct peci_get_dib_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
cmd.addr = target;
if (dib == NULL)
@@ -309,7 +309,7 @@
EPECIStatus peci_GetTemp(uint8_t target, int16_t* temperature)
{
int peci_fd = -1;
- struct peci_get_temp_msg cmd;
+ struct peci_get_temp_msg cmd = {};
if (temperature == NULL)
{
@@ -351,7 +351,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPkgConfig == NULL || cc == NULL)
{
@@ -383,8 +383,8 @@
uint16_t u16Value, uint8_t u8ReadLen,
uint8_t* pPkgConfig, int peci_fd, uint8_t* cc)
{
- struct peci_rd_pkg_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_pkg_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPkgConfig == NULL || cc == NULL)
{
@@ -432,7 +432,7 @@
uint32_t u32Value, uint8_t u8WriteLen, uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -464,8 +464,8 @@
uint16_t u16Param, uint32_t u32Value,
uint8_t u8WriteLen, int peci_fd, uint8_t* cc)
{
- struct peci_wr_pkg_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_wr_pkg_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -504,8 +504,8 @@
uint64_t* u64MsrVal, uint8_t* cc)
{
int peci_fd = -1;
- struct peci_rd_ia_msr_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_ia_msr_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (u64MsrVal == NULL || cc == NULL)
{
@@ -547,7 +547,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIData == NULL || cc == NULL)
{
@@ -580,8 +580,8 @@
uint16_t u16Reg, uint8_t* pPCIData,
int peci_fd, uint8_t* cc)
{
- struct peci_rd_pci_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_pci_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIData == NULL || cc == NULL)
{
@@ -626,7 +626,7 @@
uint8_t* pPCIReg, uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIReg == NULL || cc == NULL)
{
@@ -660,8 +660,8 @@
uint8_t* pPCIReg, int peci_fd,
uint8_t* cc)
{
- struct peci_rd_pci_cfg_local_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_pci_cfg_local_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIReg == NULL || cc == NULL)
{
@@ -713,8 +713,8 @@
uint32_t DataVal, uint8_t* cc)
{
int peci_fd = -1;
- struct peci_wr_pci_cfg_local_msg cmd;
- EPECIStatus ret;
+ struct peci_wr_pci_cfg_local_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -762,8 +762,8 @@
uint8_t u8Device, uint8_t u8Fcn, uint16_t u16Reg, uint8_t u8ReadLen,
uint8_t* pPCIData, int peci_fd, uint8_t* cc)
{
- struct peci_rd_end_pt_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_end_pt_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIData == NULL || cc == NULL)
{
@@ -817,7 +817,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIData == NULL || cc == NULL)
{
@@ -884,7 +884,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pPCIData == NULL || cc == NULL)
{
@@ -953,7 +953,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pMmioData == NULL || cc == NULL)
{
@@ -986,8 +986,8 @@
uint8_t u8Fcn, uint8_t u8Bar, uint8_t u8AddrType, uint64_t u64Offset,
uint8_t u8ReadLen, uint8_t* pMmioData, int peci_fd, uint8_t* cc)
{
- struct peci_rd_end_pt_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_rd_end_pt_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pMmioData == NULL || cc == NULL)
{
@@ -1049,8 +1049,8 @@
uint32_t DataVal, int peci_fd,
uint8_t* cc)
{
- struct peci_wr_end_pt_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_wr_end_pt_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -1095,7 +1095,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (peci_Open(&peci_fd) != PECI_CC_SUCCESS)
{
@@ -1119,7 +1119,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (peci_Open(&peci_fd) != PECI_CC_SUCCESS)
{
@@ -1144,7 +1144,7 @@
uint8_t* cc)
{
int peci_fd = -1;
- EPECIStatus ret;
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -1177,8 +1177,8 @@
uint8_t u8Fcn, uint8_t u8Bar, uint8_t u8AddrType, uint64_t u64Offset,
uint8_t u8DataLen, uint64_t u64DataVal, int peci_fd, uint8_t* cc)
{
- struct peci_wr_end_pt_cfg_msg cmd;
- EPECIStatus ret;
+ struct peci_wr_end_pt_cfg_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (cc == NULL)
{
@@ -1224,8 +1224,8 @@
uint8_t* pData, uint8_t* cc)
{
int peci_fd = -1;
- struct peci_crashdump_disc_msg cmd;
- EPECIStatus ret;
+ struct peci_crashdump_disc_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pData == NULL || cc == NULL)
{
@@ -1286,8 +1286,8 @@
uint8_t* cc)
{
int peci_fd = -1;
- struct peci_crashdump_get_frame_msg cmd;
- EPECIStatus ret;
+ struct peci_crashdump_get_frame_msg cmd = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (pData == NULL || cc == NULL)
{
@@ -1346,10 +1346,10 @@
uint32_t respSize)
{
int peci_fd = -1;
- struct peci_xfer_msg cmd;
- uint8_t u8TxBuf[PECI_BUFFER_SIZE];
- uint8_t u8RxBuf[PECI_BUFFER_SIZE];
- EPECIStatus ret;
+ struct peci_xfer_msg cmd = {};
+ uint8_t u8TxBuf[PECI_BUFFER_SIZE] = {};
+ uint8_t u8RxBuf[PECI_BUFFER_SIZE] = {};
+ EPECIStatus ret = PECI_CC_SUCCESS;
if (u8ReadLen && pRawResp == NULL)
{