Snap for 6330721 from 253c39efd7a9d83108e4f727e0130d614df06e95 to mainline-release
Change-Id: If46dc003bc566ad7a664165af38750e83f42c782
diff --git a/libese-spi/p73/lib/phNxpEse_Api.cpp b/libese-spi/p73/lib/phNxpEse_Api.cpp
index 70070fd..4d054b8 100644
--- a/libese-spi/p73/lib/phNxpEse_Api.cpp
+++ b/libese-spi/p73/lib/phNxpEse_Api.cpp
@@ -210,7 +210,7 @@
/*Read device node path*/
ese_node = EseConfig::getString(NAME_NXP_ESE_DEV_NODE, "/dev/pn81a");
- strcpy(ese_dev_node, ese_node.c_str());
+ strlcpy(ese_dev_node, ese_node.c_str(), sizeof(ese_dev_node));
tPalConfig.pDevName = (int8_t*)ese_dev_node;
/* Initialize PAL layer */
@@ -344,7 +344,7 @@
ESESTATUS phNxpEse_openPrioSession(phNxpEse_initParams initParams) {
phPalEse_Config_t tPalConfig;
ESESTATUS wConfigStatus = ESESTATUS_SUCCESS;
- unsigned long int num = 0, tpm_enable = 0;
+ unsigned long int num = 0;
ALOGE("phNxpEse_openPrioSession Enter");
#ifdef SPM_INTEGRATED
@@ -481,14 +481,6 @@
}
wConfigStatus =
phPalEse_ioctl(phPalEse_e_EnablePollMode, nxpese_ctxt.pDevHandle, 1);
- if (tpm_enable) {
- wConfigStatus = phPalEse_ioctl(phPalEse_e_EnableThroughputMeasurement,
- nxpese_ctxt.pDevHandle, 0);
- if (wConfigStatus != ESESTATUS_SUCCESS) {
- ALOGE("phPalEse_IoCtl Failed");
- goto clean_and_return;
- }
- }
if (wConfigStatus != ESESTATUS_SUCCESS) {
ALOGE("phPalEse_IoCtl Failed");
goto clean_and_return;
diff --git a/libese-spi/p73/pal/spi/phNxpEsePal_spi.cpp b/libese-spi/p73/pal/spi/phNxpEsePal_spi.cpp
index 21057b6..cb2d4c5 100755
--- a/libese-spi/p73/pal/spi/phNxpEsePal_spi.cpp
+++ b/libese-spi/p73/pal/spi/phNxpEsePal_spi.cpp
@@ -89,6 +89,11 @@
return;
}
ESESTATUS phNxpEse_spiIoctl(uint64_t ioctlType, void* p_data) {
+ if (!p_data) {
+ ALOGD_IF(ese_debug_enabled, "%s:p_data is null ioctltyp: %ld", __FUNCTION__,
+ (long)ioctlType);
+ return ESESTATUS_FAILED;
+ }
ese_nxp_IoctlInOutData_t* inpOutData = (ese_nxp_IoctlInOutData_t*)p_data;
rf_status = inpOutData->inp.data.nxpCmd.p_cmd[0];
if (rf_status == 1) {
@@ -99,11 +104,6 @@
ese_debug_enabled,
"******************RF IS OFF*************************************");
}
- if (p_data != NULL) {
- ALOGD_IF(ese_debug_enabled,
- "halimpl phNxpEse_spiIoctl p_data is not null ioctltyp: %ld",
- (long)ioctlType);
- }
return ESESTATUS_SUCCESS;
}
diff --git a/libese-spi/p73/utils/config.cpp b/libese-spi/p73/utils/config.cpp
index c304226..5983d59 100644
--- a/libese-spi/p73/utils/config.cpp
+++ b/libese-spi/p73/utils/config.cpp
@@ -41,6 +41,11 @@
} // namespace
+ConfigValue::ConfigValue() {
+ value_unsigned_ = 0;
+ type_ = UNSIGNED;
+}
+
ConfigValue::Type ConfigValue::getType() const { return type_; }
std::string ConfigValue::getString() const {
diff --git a/libese-spi/p73/utils/config.h b/libese-spi/p73/utils/config.h
index 90bbcc1..6a5ccb1 100755
--- a/libese-spi/p73/utils/config.h
+++ b/libese-spi/p73/utils/config.h
@@ -23,6 +23,7 @@
public:
enum Type { UNSIGNED, STRING, BYTES };
+ ConfigValue();
Type getType() const;
std::string getString() const;
unsigned getUnsigned() const;
diff --git a/libese-spi/src/adaptation/NfcAdaptation.cpp b/libese-spi/src/adaptation/NfcAdaptation.cpp
index 76ca268..55745f5 100755
--- a/libese-spi/src/adaptation/NfcAdaptation.cpp
+++ b/libese-spi/src/adaptation/NfcAdaptation.cpp
@@ -144,7 +144,7 @@
** Returns: none
**
*******************************************************************************/
-NfcAdaptation::NfcAdaptation() {}
+NfcAdaptation::NfcAdaptation() { mCurrentIoctlData = NULL; }
/*******************************************************************************
**
diff --git a/ls_client/src/LsClient.cpp b/ls_client/src/LsClient.cpp
index f7a78de..4c874a9 100755
--- a/ls_client/src/LsClient.cpp
+++ b/ls_client/src/LsClient.cpp
@@ -130,6 +130,7 @@
if (c == ' ' || c == '\n' || c == '\r' || c == 0x00) break;
prefix.push_back(c);
}
+ fclose(fd);
} else {
ALOGD("%s Cannot open file %s\n", __func__, source_path);
}
@@ -332,13 +333,20 @@
/*Read the script content to a local buffer*/
fseek(fIn, 0, SEEK_END);
long lsBufSize = ftell(fIn);
+ if (lsBufSize < 0) {
+ ALOGE("%s Failed to get current value of position indicator\n", __func__);
+ fclose(fIn);
+ status = LSCSTATUS_FAILED;
+ break;
+ }
rewind(fIn);
if (lsHashInfo.lsRawScriptBuf == nullptr) {
lsHashInfo.lsRawScriptBuf = (uint8_t*)phNxpEse_memalloc(lsBufSize + 1);
}
memset(lsHashInfo.lsRawScriptBuf, 0x00, (lsBufSize + 1));
- fread(lsHashInfo.lsRawScriptBuf, lsBufSize, 1, fIn);
-
+ if (fread(lsHashInfo.lsRawScriptBuf, (size_t)lsBufSize, 1, fIn) != 1)
+ ALOGD_IF(ese_debug_enabled, "%s Failed to read file", __func__);
+ fclose(fIn);
LSCSTATUS lsHashStatus = LSCSTATUS_FAILED;
/*Get 20bye SHA1 of the script*/
diff --git a/ls_client/src/LsLib.cpp b/ls_client/src/LsLib.cpp
index 82f64f0..c670408 100755
--- a/ls_client/src/LsLib.cpp
+++ b/ls_client/src/LsLib.cpp
@@ -95,7 +95,7 @@
ALOGD_IF(ese_debug_enabled, "%s: enter", fn);
memset(&update_info, 0, sizeof(Lsc_ImageInfo_t));
if (dest != NULL) {
- strcat(update_info.fls_RespPath, dest);
+ strlcat(update_info.fls_RespPath, dest, sizeof(update_info.fls_RespPath));
ALOGD_IF(ese_debug_enabled,
"%s: Loader Service response data path/destination: %s", fn, dest);
update_info.bytes_wrote = 0xAA;
@@ -106,7 +106,7 @@
return LSCSTATUS_FAILED;
}
// memcpy(update_info.fls_path, (char*)Lsc_path, sizeof(Lsc_path));
- strcat(update_info.fls_path, name);
+ strlcat(update_info.fls_path, name, sizeof(update_info.fls_path));
ALOGD_IF(ese_debug_enabled, "Selected applet to install is: %s",
update_info.fls_path);
@@ -435,10 +435,6 @@
while (!feof(Os_info->fp) && (Os_info->bytes_read < Os_info->fls_size)) {
len_byte = 0;
offset = 0;
- /*Check if the certificate/ is verified or not*/
- if (status != LSCSTATUS_SUCCESS) {
- goto exit;
- }
uint8_t temp_buf[1024];
memset(temp_buf, 0, sizeof(temp_buf));
@@ -572,7 +568,7 @@
int32_t wNewLen) {
static const char fn[] = "LSC_Check_KeyIdentifier";
status = LSCSTATUS_FAILED;
- uint8_t read_buf[1024];
+ uint8_t read_buf[1024] = {0};
uint16_t offset = 0, len_byte = 0;
int32_t wLen;
uint8_t certf_found = LSCSTATUS_FAILED;