diff options
author | Simon Brandner <simon.brandner@partner.bmw.de> | 2012-12-06 10:18:12 +0100 |
---|---|---|
committer | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2013-07-19 16:54:05 +0200 |
commit | be9c3bf964295883ff086dfb8c2ece38f833b355 (patch) | |
tree | 9faf2962efc5b7c24c98f5082d8afd4c2f7a2907 /src/lib/dlt_user.c | |
parent | 311b8896c144c5ff8c10dbc0d4c7832720292608 (diff) | |
download | DLT-daemon-be9c3bf964295883ff086dfb8c2ece38f833b355.tar.gz |
appended null termination to version string
adding closure of socket in syslog_thread and read_socket
fixed missing free of filepath in compressed file transfer
fixed missing closedir in added in send_one error case
fixed missing fclose of src_file in ferror case
dlt-daemon.c fixed missing fclose in ferror case
dlt_common.c using snprintf for filename instead sprintf in dlt_file_open
modified some magix numbers - replaced by limits.h values. added strncpy instead strcpy to make cp more safe. split up a function to avoid coverity complaint when computing size of a write buffer length
dlt_daemon_common: added strncpy instead strcpy to make cp more safe.
Fixes some more Coverity issues in dlt-daemon.c dlt_user.c dlt_common.c and dlt_offline_trace.c.
Conflicts:
src/daemon/dlt-daemon.c
src/lib/dlt_user.c
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 | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c index 8155d52..9c40a30 100644 --- a/src/lib/dlt_user.c +++ b/src/lib/dlt_user.c @@ -2109,14 +2109,14 @@ int dlt_user_trace_network_segmented_end(uint16_t id, DltContext *handle, DltNet void dlt_user_trace_network_segmented_thread(void *unused) { - /* Unused on purpose. */ - (void) unused; + /* Unused on purpose. */ + (void) unused; - s_segmented_data *data; + s_segmented_data *data; while(1) { - // Wait untill message queue is initialized + // Wait until message queue is initialized pthread_mutex_lock(&mq_mutex); if(dlt_user.dlt_segmented_queue_read_handle < 0) { @@ -2241,10 +2241,10 @@ 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; } @@ -2274,6 +2274,9 @@ int dlt_user_trace_network_segmented(DltContext *handle, DltNetworkTraceType nw_ dlt_log(LOG_ERR, strerror(errno)); return -1; } + + //thread_data will be freed by the receiver function + //coverity[leaked_storage] return 0; } @@ -2701,7 +2704,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); + free(resend_data); return -1; } @@ -2713,6 +2716,8 @@ int dlt_user_queue_resend(void) DLT_SEM_FREE(); return -1; } + //thread_data will be freed by the receiver function + //coverity[leaked_storage] return 0; } @@ -3492,7 +3497,10 @@ int dlt_user_log_check_user_message(void) /* Delayed injection callback call */ if(delayed_inject_buffer != 0 && delayed_injection_callback.injection_callback != 0) { delayed_injection_callback.injection_callback(delayed_injection_callback.service_id, delayed_inject_buffer, delayed_inject_data_length); - free(delayed_inject_buffer); + delayed_injection_callback.injection_callback = 0; + free(delayed_inject_buffer); + delayed_inject_buffer = NULL; + } /* keep not read data in buffer */ |