@@ -2442,6 +2442,7 @@ void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, i
24422442 dlt_event_handler_cleanup_connections (& daemon_local -> pEvent );
24432443
24442444 dlt_message_free (& (daemon_local -> msg ), daemon_local -> flags .vflag );
2445+ dlt_message_free_v2 (& (daemon_local -> msgv2 ), daemon_local -> flags .vflag );
24452446
24462447 /* free shared memory */
24472448 if (daemon_local -> flags .offlineTraceDirectory [0 ])
@@ -2709,7 +2710,7 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
27092710 msg .headerextrav2 .seconds [2 ]= (uint8_t )((t >> 16 ) & 0xFF );
27102711 msg .headerextrav2 .seconds [3 ]= (uint8_t )((t >> 8 ) & 0xFF );
27112712 msg .headerextrav2 .seconds [4 ]= (uint8_t )(t & 0xFF );
2712- msg .headerextrav2 .nanoseconds |= 0x8000 ;
2713+ msg .headerextrav2 .nanoseconds |= 0x80000000 ;
27132714 }
27142715#else
27152716 struct timespec ts ;
@@ -2731,7 +2732,7 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
27312732 if (ts .tv_nsec < 0x3B9ACA00 ) {
27322733 msg .headerextrav2 .nanoseconds = (uint32_t ) ts .tv_nsec ; /* value is long */
27332734 }
2734- msg .headerextrav2 .nanoseconds |= 0x8000 ;
2735+ msg .headerextrav2 .nanoseconds |= 0x80000000 ;
27352736 }
27362737#endif
27372738
@@ -2801,7 +2802,7 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
28012802 msg .datasize += uiSize ;
28022803
28032804 /* Calc length */
2804- msg .baseheaderv2 -> len = ( uint16_t )(msg .headersizev2 - (int32_t )msg .storageheadersizev2 + msg .datasize );
2805+ msg .baseheaderv2 -> len = DLT_HTOBE_16 (( uint16_t )(msg .headersizev2 - (int32_t )msg .storageheadersizev2 + msg .datasize ) );
28052806
28062807 dlt_daemon_client_send_v2 (DLT_DAEMON_SEND_TO_ALL , daemon ,daemon_local ,
28072808 msg .headerbufferv2 , (int )msg .storageheadersizev2 ,
@@ -4239,6 +4240,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
42394240 if ((daemon == NULL ) || (daemon_local == NULL ) || (rec == NULL )) {
42404241 dlt_vlog (LOG_ERR , "Invalid function parameters used for %s\n" ,
42414242 __func__ );
4243+ free (buffer );
42424244 return -1 ;
42434245 }
42444246
@@ -4252,10 +4254,11 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
42524254 (unsigned int )len ,
42534255 DLT_RCV_SKIP_HEADER );
42544256
4255- if (temp < 0 )
4257+ if (temp < 0 ) {
42564258 /* Not enough bytes received */
4259+ free (buffer );
42574260 return -1 ;
4258- else {
4261+ } else {
42594262 to_remove = (uint32_t ) temp ;
42604263 }
42614264
@@ -4265,6 +4268,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
42654268 usercontext .apid = (char * )malloc ((size_t )usercontext .apidlen + 1 );
42664269 if (usercontext .apid == NULL ) {
42674270 dlt_log (LOG_ERR , "Memory allocation failed for usercontext.apid\n" );
4271+ free (buffer );
42684272 return -1 ;
42694273 }
42704274 memcpy (usercontext .apid , (buffer + offset ), usercontext .apidlen );
@@ -4275,6 +4279,8 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
42754279 usercontext .ctid = (char * )malloc ((size_t )usercontext .ctidlen + 1 );
42764280 if (usercontext .ctid == NULL ) {
42774281 dlt_log (LOG_ERR , "Memory allocation failed for usercontext.ctid\n" );
4282+ free (usercontext .apid );
4283+ free (buffer );
42784284 return -1 ;
42794285 }
42804286 memcpy (usercontext .ctid , (buffer + offset ), usercontext .ctidlen );
@@ -4319,6 +4325,9 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
43194325 /* We can now remove data. */
43204326 if (dlt_receiver_remove (rec , (int ) to_remove ) != DLT_RETURN_OK ) {
43214327 dlt_log (LOG_WARNING , "Can't remove bytes from receiver\n" );
4328+ free (usercontext .apid );
4329+ free (usercontext .ctid );
4330+ free (buffer );
43224331 return -1 ;
43234332 }
43244333
@@ -4337,6 +4346,9 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
43374346 usercontext .ctid ,
43384347 __func__ );
43394348
4349+ free (usercontext .apid );
4350+ free (usercontext .ctid );
4351+ free (buffer );
43404352 return 0 ;
43414353 }
43424354
@@ -4347,6 +4359,9 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
43474359 /* Plausibility check */
43484360 if ((usercontext .log_level < DLT_LOG_DEFAULT ) ||
43494361 (usercontext .log_level > DLT_LOG_VERBOSE )) {
4362+ free (usercontext .apid );
4363+ free (usercontext .ctid );
4364+ free (buffer );
43504365 return -1 ;
43514366 }
43524367 }
@@ -4358,6 +4373,9 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
43584373 /* Plausibility check */
43594374 if ((usercontext .trace_status < DLT_TRACE_STATUS_DEFAULT ) ||
43604375 (usercontext .trace_status > DLT_TRACE_STATUS_ON )) {
4376+ free (usercontext .apid );
4377+ free (usercontext .ctid );
4378+ free (buffer );
43614379 return -1 ;
43624380 }
43634381 }
@@ -4379,6 +4397,9 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
43794397 dlt_vlog (LOG_WARNING ,
43804398 "Can't add ContextID '%s' for ApID '%s'\n in %s" ,
43814399 usercontext .ctid , usercontext .apid , __func__ );
4400+ free (usercontext .apid );
4401+ free (usercontext .ctid );
4402+ free (buffer );
43824403 return -1 ;
43834404 }
43844405 else {
@@ -4483,10 +4504,16 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon,
44834504 __func__ ,
44844505 context -> apid ,
44854506 context -> ctid );
4507+ free (usercontext .apid );
4508+ free (usercontext .ctid );
4509+ free (buffer );
44864510 return -1 ;
44874511 }
44884512 }
44894513 }
4514+ free (usercontext .apid );
4515+ free (usercontext .ctid );
4516+ free (buffer );
44904517 } else if (daemon -> daemon_version == DLTProtocolV1 ) {
44914518 DltMessage msg ;
44924519 DltServiceGetLogInfoRequest * req = NULL ;
0 commit comments