diff options
author | Vo Trung Chi <chi.votrung@vn.bosch.com> | 2019-11-14 11:56:41 +0700 |
---|---|---|
committer | Saya Sugiura <39760799+ssugiura@users.noreply.github.com> | 2019-11-14 13:56:41 +0900 |
commit | 6530fe75d8642f18d87d22456462a9530129cbda (patch) | |
tree | 9c7847a0f01b835a4b2c34903368f8dee7090197 /src/tests | |
parent | f773961cda69ecc5334013dc82734f29f3459d2e (diff) | |
download | DLT-daemon-6530fe75d8642f18d87d22456462a9530129cbda.tar.gz |
Avoided Seg fault in dlt_message_payload (#179) (#181)
* Avoided Seg fault in dlt_message_payload (#179)
Avoided Seg fault by adding boundary check before buffer access.
Signed-off-by: Ravi Sankar P <ponnurangamravi.sankar@in.bosch.com>
Signed-off-by: Vo Trung Chi <chi.votrung@vn.bosch.com>
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/dlt-test-client.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/tests/dlt-test-client.c b/src/tests/dlt-test-client.c index 4edccff..5f5a884 100644 --- a/src/tests/dlt-test-client.c +++ b/src/tests/dlt-test-client.c @@ -1171,7 +1171,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_TRUNCATED) == 0) dltdata->test_counter_macro[7]++; @@ -1183,7 +1183,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char hdr[2048]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(hdr, ptr, datalength, length); + DLT_MSG_READ_STRING(hdr, ptr, datalength, (int)sizeof(hdr), length); if ((length == 16) && (hdr[15] == 15)) dltdata->test_counter_macro[7]++; @@ -1276,7 +1276,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_START) == 0) dltdata->test_counter_macro[8]++; @@ -1373,7 +1373,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_SEGMENT) == 0) dltdata->test_counter_macro[8]++; @@ -1435,7 +1435,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_END) == 0) dltdata->test_counter_macro[8]++; @@ -2195,7 +2195,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_TRUNCATED) == 0) dltdata->test_counter_function[7]++; @@ -2207,7 +2207,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char hdr[2048]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(hdr, ptr, datalength, length); + DLT_MSG_READ_STRING(hdr, ptr, datalength, (int)sizeof(hdr), length); if ((length == 16) && (hdr[15] == 15)) dltdata->test_counter_function[7]++; @@ -2300,7 +2300,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_START) == 0) dltdata->test_counter_function[8]++; @@ -2397,7 +2397,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_SEGMENT) == 0) dltdata->test_counter_function[8]++; @@ -2459,7 +2459,7 @@ int dlt_testclient_message_callback(DltMessage *message, void *data) char chdr[10]; DLT_MSG_READ_VALUE(length_tmp, ptr, datalength, uint16_t); length = DLT_ENDIAN_GET_16(message->standardheader->htyp, length_tmp); - DLT_MSG_READ_STRING(chdr, ptr, datalength, length); + DLT_MSG_READ_STRING(chdr, ptr, datalength, (int)sizeof(chdr), length); if (strcmp((char *)chdr, DLT_TRACE_NW_END) == 0) dltdata->test_counter_function[8]++; |