From 043c407a43bf6cff8a66d6bc60e3710fac9830ce Mon Sep 17 00:00:00 2001 From: Keebum Kim Date: Thu, 31 Jan 2013 20:21:25 +0900 Subject: Address validation check. --- proxy/MsgHandleTransport.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/proxy/MsgHandleTransport.cpp b/proxy/MsgHandleTransport.cpp index 000f66d..daf73f6 100755 --- a/proxy/MsgHandleTransport.cpp +++ b/proxy/MsgHandleTransport.cpp @@ -24,6 +24,8 @@ #include "MsgHandle.h" +#define MAX_ADDRESS_LEN 21 // including '+' + /*================================================================================================== IMPLEMENTATION OF MsgHandle - Transport Member Functions ==================================================================================================*/ @@ -87,6 +89,17 @@ msg_error_t MsgHandle::submitReq(MSG_REQUEST_S* pReq) // Convert MSG_MESSAGE_S to MSG_MESSAGE_INFO_S convertMsgStruct(reqmsg, &(reqInfo.msgInfo)); + /* Check address validation */ + if (reqInfo.msgInfo.msgType.mainType == MSG_SMS_TYPE) { + for(int i=0; iaddr_list->nCount; i++) { + if (reqInfo.msgInfo.addressList[i].addressVal[0] == '+' && strlen(reqInfo.msgInfo.addressList[i].addressVal)>MAX_ADDRESS_LEN) { + return MSG_ERR_INVALID_PARAMETER; + } else if (strlen(reqInfo.msgInfo.addressList[i].addressVal)>(MAX_ADDRESS_LEN-1)) { + return MSG_ERR_INVALID_PARAMETER; + } + } + } + MSG_MESSAGE_TYPE_S msgType = {0,}; msgType.mainType = reqmsg->mainType; -- cgit v1.2.3