summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorp.privalov <p.privalov@samsung.com>2017-11-10 17:48:21 +0300
committerMaria Guseva <m.guseva@samsung.com>2017-12-05 16:05:43 +0000
commit4d15998d2ceab8765625cdae57912a0bbd30c49f (patch)
tree54120132567e6e2a3b46c6da65c136c028df5cb9
parentbbb50f0d69ef20ea34423bb90fdc335c738b1b01 (diff)
downloadfuzz-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.cpp24
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;
}