summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Brandner <simon.brandner@partner.bmw.de>2012-11-28 15:41:42 +0100
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2013-07-19 16:53:58 +0200
commited306103337f6f8d5cdfa27872eb7662e85ac99f (patch)
tree85e41c3a9669c3fd740063c5cb0c55423c0dc00a
parentcbda448be7f8d64037d1eb82700d809e2bef4389 (diff)
downloadDLT-daemon-ed306103337f6f8d5cdfa27872eb7662e85ac99f.tar.gz
Parasoft: added 2 free s_segmented_data allocations in error case - one detected by Parasoft, the other seems similar.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
-rw-r--r--src/lib/dlt_user.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index 199b943..64ba5c3 100644
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -2233,17 +2233,21 @@ int dlt_user_trace_network_segmented(DltContext *handle, DltNetworkTraceType nw_
thread_data->payload_len);
if(err == DLT_RETURN_BUFFER_FULL || err == DLT_RETURN_ERROR)
{
- dlt_log(LOG_ERR,"NWTSegmented: Could not send start segment. Aborting.\n");
- free(thread_data->header);
- free(thread_data->payload);
- free(thread_data);
+ dlt_log(LOG_ERR,"NWTSegmented: Could not send start segment. Aborting.\n");
+ free(thread_data->header);
+ free(thread_data->payload);
+ free(thread_data);
return -1;
}
/* Open queue if it is not open */
if(dlt_init_message_queue() < 0)
{
- dlt_log(LOG_ERR, "NWTSegmented: Could not open queue.\n");
+ dlt_log(LOG_ERR, "NWTSegmented: Could not open queue.\n");
+ free(thread_data->header);
+ free(thread_data->payload);
+ free(thread_data);
+
return -1;
}
@@ -2689,6 +2693,7 @@ int dlt_user_queue_resend(void)
if(dlt_init_message_queue() < 0)
{
dlt_log(LOG_ERR, "NWTSegmented: Could not open queue.\n");
+ free(resend_data);
return -1;
}