diff options
author | p.privalov <p.privalov@samsung.com> | 2017-11-10 17:48:21 +0300 |
---|---|---|
committer | Maria Guseva <m.guseva@samsung.com> | 2017-12-05 16:05:43 +0000 |
commit | 4d15998d2ceab8765625cdae57912a0bbd30c49f (patch) | |
tree | 54120132567e6e2a3b46c6da65c136c028df5cb9 | |
parent | bbb50f0d69ef20ea34423bb90fdc335c738b1b01 (diff) | |
download | fuzz-testing-4d15998d2ceab8765625cdae57912a0bbd30c49f.tar.gz fuzz-testing-4d15998d2ceab8765625cdae57912a0bbd30c49f.tar.bz2 fuzz-testing-4d15998d2ceab8765625cdae57912a0bbd30c49f.zip |
Enlarge coverage of fuzz-decodeUserData targetTizen-Fuzz-1.0
Change-Id: I9b56be18bad67a46676332cd2a786144f5e8cb1b
-rw-r--r-- | targets/msg-service/fuzz-decodeUserData.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/targets/msg-service/fuzz-decodeUserData.cpp b/targets/msg-service/fuzz-decodeUserData.cpp index 41d2f74..246fc9c 100644 --- a/targets/msg-service/fuzz-decodeUserData.cpp +++ b/targets/msg-service/fuzz-decodeUserData.cpp @@ -75,20 +75,40 @@ typedef struct _SMS_USERDATA_S { char data[MAX_USER_DATA_LEN + 1]; } SMS_USERDATA_S; +typedef struct _SMS_TPUD_S { + int udl; + char ud[MAX_USER_DATA_LEN+1]; +} SMS_TPUD_S; + namespace SmsPluginUDCodec { extern int decodeUserData(const unsigned char *pTpdu, const int tpduLen, bool bHeaderInd, SMS_CODING_SCHEME_T CodingScheme, SMS_USERDATA_S *pUserData); +extern int decodeUserData(const unsigned char *pTpdu, const int tpduLen, + bool bHeaderInd, SMS_CODING_SCHEME_T CodingScheme, + SMS_USERDATA_S *pUserData, SMS_TPUD_S *pTPUD); +extern int encodeUserData(const SMS_USERDATA_S *pUserData, + SMS_CODING_SCHEME_T CodingScheme, char *pEncodeData); } extern "C" { int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + unsigned char* ptpdu= (unsigned char*)malloc(size+1); + memcpy(ptpdu, data, size); + ptpdu[size]=0; SMS_USERDATA_S *userData = (SMS_USERDATA_S *)malloc(sizeof(SMS_USERDATA_S)); + SMS_TPUD_S TPUD; + char * encodedData = (char *)malloc(size*4); for (unsigned char i = 0; i < 3; i++) { - SmsPluginUDCodec::decodeUserData(data, size, true, i, userData); - SmsPluginUDCodec::decodeUserData(data, size, false, i, userData); + SmsPluginUDCodec::decodeUserData(ptpdu, size, true, i, userData); + SmsPluginUDCodec::decodeUserData(ptpdu, size, false, i, userData); + SmsPluginUDCodec::decodeUserData(ptpdu, size, false, i, userData, &TPUD); + + SmsPluginUDCodec::encodeUserData(userData, i, encodedData); } + free(ptpdu); + free(encodedData); free(userData); return 0; } |