summaryrefslogtreecommitdiff
path: root/externals
diff options
context:
space:
mode:
authorJongkyu Koo <jk.koo@samsung.com>2017-11-07 09:59:41 +0900
committerJongkyu Koo <jk.koo@samsung.com>2017-11-07 01:10:23 +0000
commit3e24c06c140a91c9e74743f537d7a01e6d4b052e (patch)
tree18797a71b2324869e9f243e69d78dbdbaae51117 /externals
parent101cba71b0404651208866b2e210426786e4d78a (diff)
downloadmsg-service-3e24c06c140a91c9e74743f537d7a01e6d4b052e.tar.gz
msg-service-3e24c06c140a91c9e74743f537d7a01e6d4b052e.tar.bz2
msg-service-3e24c06c140a91c9e74743f537d7a01e6d4b052e.zip
Change-Id: I93e62e429bf25ce47068c7457fae4ebfeb27c752 Signed-off-by: Jongkyu Koo <jk.koo@samsung.com>
Diffstat (limited to 'externals')
-rwxr-xr-xexternals/MsgSpamFilter.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/externals/MsgSpamFilter.cpp b/externals/MsgSpamFilter.cpp
index 63aecd6..6b63b1a 100755
--- a/externals/MsgSpamFilter.cpp
+++ b/externals/MsgSpamFilter.cpp
@@ -162,7 +162,7 @@ bool MsgCheckFilter(MsgDbHandler *pDbHandle, MSG_MESSAGE_INFO_S *pMsgInfo)
int fileSize = 0;
bool bFiltered = false;
-
+ int tmpLen = 0;
for (int i = 1; i <= rowCnt; i++) {
memset(filterValue, 0x00, sizeof(filterValue));
@@ -195,20 +195,25 @@ bool MsgCheckFilter(MsgDbHandler *pDbHandle, MSG_MESSAGE_INFO_S *pMsgInfo)
pData = new char[pMsgInfo->dataSize+1];
strncpy(pData, pMsgInfo->msgText, pMsgInfo->dataSize);
- pData[strlen(pMsgInfo->msgText)] = '\0';
+ tmpLen = strlen(pMsgInfo->msgText);
+ if ( tmpLen < pMsgInfo->dataSize)
+ pData[tmpLen] = '\0';
+ else
+ pData[pMsgInfo->dataSize] = '\0';
}
}
} else if (pMsgInfo->msgType.mainType == MSG_MMS_TYPE) {
- if (strlen(pMsgInfo->subject) > 0) {
+ tmpLen = strlen(pMsgInfo->subject);
+ if (tmpLen > 0) {
if (pData) {
delete[] pData;
pData = NULL;
}
- pData = new char[strlen(pMsgInfo->subject)+1];
+ pData = new char[tmpLen+1];
- strncpy(pData, pMsgInfo->subject, strlen(pMsgInfo->subject));
- pData[strlen(pMsgInfo->subject)] = '\0';
+ strncpy(pData, pMsgInfo->subject, tmpLen);
+ pData[tmpLen] = '\0';
}
}