diff options
author | Simon Brandner <simon.brandner@partner.bmw.de> | 2012-11-28 15:41:42 +0100 |
---|---|---|
committer | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2013-07-19 16:53:58 +0200 |
commit | ed306103337f6f8d5cdfa27872eb7662e85ac99f (patch) | |
tree | 85e41c3a9669c3fd740063c5cb0c55423c0dc00a /src/lib/dlt_user.c | |
parent | cbda448be7f8d64037d1eb82700d809e2bef4389 (diff) | |
download | DLT-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>
Diffstat (limited to 'src/lib/dlt_user.c')
-rw-r--r-- | src/lib/dlt_user.c | 15 |
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; } |