summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLassi Marttala <lassi.lm.marttala@partner.bmw.com>2012-02-21 12:16:23 +0100
committerChristian Muck <christian.muck@bmw.de>2012-04-04 14:30:09 +0200
commit64646a665c9fafc4454c67b6212702ed59e01c87 (patch)
tree510bc41181cfd9a0edd71325c3d1b3dcf52aa570
parent83059468ecd8ca6a68901f20477615cb58808c94 (diff)
downloadDLT-daemon-64646a665c9fafc4454c67b6212702ed59e01c87.tar.gz
GENDLT-15, Avoid buffer overrun with snprintf().
Check return value of dlt_user_log_write_start(_id) correctly. Reduce the number of applications if allocation fails. Make dlt_user_log_write_start inline Improve error checking in dlt_user_log_write_start_id Use databuffersize to avoid reallocations Signed-off-by: Christian Muck <christian.muck@bmw.de>
-rwxr-xr-xinclude/dlt/dlt_common.h3
-rwxr-xr-xinclude/dlt/dlt_user_macros.h4
-rwxr-xr-xsrc/daemon/dlt_daemon_common.c10
-rwxr-xr-xsrc/examples/dlt-example-user-func.c14
-rwxr-xr-xsrc/lib/dlt_user.c37
-rwxr-xr-xsrc/shared/dlt_common.c27
-rwxr-xr-xsrc/tests/dlt-test-user.c106
7 files changed, 106 insertions, 95 deletions
diff --git a/include/dlt/dlt_common.h b/include/dlt/dlt_common.h
index 686df19..19ee4d5 100755
--- a/include/dlt/dlt_common.h
+++ b/include/dlt/dlt_common.h
@@ -200,7 +200,7 @@
\
if(_verbose) \
{ \
- sprintf(_strbuf, "%s()\n",__func__); \
+ snprintf(_strbuf, 255, "%s()\n",__func__); \
dlt_log(LOG_INFO, _strbuf); \
} \
}
@@ -376,6 +376,7 @@ typedef struct sDltMessage
uint8_t headerbuffer[sizeof(DltStorageHeader)+
sizeof(DltStandardHeader)+sizeof(DltStandardHeaderExtra)+sizeof(DltExtendedHeader)]; /**< buffer for loading complete header */
uint8_t *databuffer; /**< buffer for loading payload */
+ int32_t databuffersize;
/* header values of current loaded message */
DltStorageHeader *storageheader; /**< pointer to storage header of current loaded header */
diff --git a/include/dlt/dlt_user_macros.h b/include/dlt/dlt_user_macros.h
index 17a8ddb..1f95f3c 100755
--- a/include/dlt/dlt_user_macros.h
+++ b/include/dlt/dlt_user_macros.h
@@ -161,7 +161,7 @@ extern DltContext CONTEXT;
#define DLT_LOG(CONTEXT,LOGLEVEL,ARGS...) \
{ \
DltContextData log; \
- if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)) \
+ if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)>0) \
{ \
ARGS; \
dlt_user_log_write_finish(&log); \
@@ -185,7 +185,7 @@ extern DltContext CONTEXT;
#define DLT_LOG_ID(CONTEXT,LOGLEVEL,MSGID,ARGS...) \
{ \
DltContextData log; \
- if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)) \
+ if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)>0) \
{ \
ARGS; \
dlt_user_log_write_finish(&log); \
diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
index 7207b4c..71ea40b 100755
--- a/src/daemon/dlt_daemon_common.c
+++ b/src/daemon/dlt_daemon_common.c
@@ -280,6 +280,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if (daemon->applications==0)
{
daemon->applications = old;
+ daemon->num_applications -= 1;
return (DltDaemonApplication*) 0;
}
memcpy(daemon->applications,old,sizeof(DltDaemonApplication)*daemon->num_applications);
@@ -300,10 +301,9 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if (application->application_description)
{
free(application->application_description);
+ application->application_description=0; // opt mb: moved inside here (very minor opt ;-)
}
- application->application_description=0;
-
if (description)
{
application->application_description = malloc(strlen(description)+1);
@@ -325,7 +325,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
dlt_user_handle = open(filename, O_WRONLY|O_NONBLOCK);
if (dlt_user_handle <0)
{
- sprintf(str,"open() failed to %s, errno=%d (%s)!\n",filename,errno,strerror(errno)); /* errno 2: ENOENT - No such file or directory */
+ snprintf(str,DLT_DAEMON_TEXTBUFSIZE, "open() failed to %s, errno=%d (%s)!\n",filename,errno,strerror(errno)); /* errno 2: ENOENT - No such file or directory */
dlt_log(LOG_ERR, str);
} /* if */
@@ -558,6 +558,7 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
if (daemon->contexts==0)
{
daemon->contexts = old;
+ daemon->num_contexts -= 1;
return (DltDaemonContext*) 0;
}
memcpy(daemon->contexts,old,sizeof(DltDaemonContext)*daemon->num_contexts);
@@ -579,10 +580,9 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
if (context->context_description)
{
free(context->context_description);
+ context->context_description=0; // opt mb: moved inside the if clause (very minor opt)
}
- context->context_description=0;
-
if (description)
{
context->context_description = malloc(strlen(description)+1);
diff --git a/src/examples/dlt-example-user-func.c b/src/examples/dlt-example-user-func.c
index e716335..75db1b0 100755
--- a/src/examples/dlt-example-user-func.c
+++ b/src/examples/dlt-example-user-func.c
@@ -240,28 +240,28 @@ int main(int argc, char* argv[])
if (gflag)
{
/* DLT messages to test Fibex non-verbose description: dlt-example-non-verbose.xml */
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,10))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,10)>0)
{
dlt_user_log_write_finish(&mycontextdata);
}
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,11))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,11)>0)
{
dlt_user_log_write_uint16(&mycontextdata,1011);
dlt_user_log_write_finish(&mycontextdata);
}
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,12))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,12)>0)
{
dlt_user_log_write_uint32(&mycontextdata,1012);
dlt_user_log_write_uint32(&mycontextdata,1013);
dlt_user_log_write_finish(&mycontextdata);
}
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,13))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,13)>0)
{
dlt_user_log_write_uint8(&mycontextdata,123);
dlt_user_log_write_float32(&mycontextdata,1.12);
dlt_user_log_write_finish(&mycontextdata);
}
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,14))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_INFO,14)>0)
{
dlt_user_log_write_string(&mycontextdata,"DEAD BEEF");
dlt_user_log_write_finish(&mycontextdata);
@@ -275,7 +275,7 @@ int main(int argc, char* argv[])
if (gflag)
{
/* Non-verbose mode */
- if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_WARN,num))
+ if (dlt_user_log_write_start_id(&mycontext,&mycontextdata,DLT_LOG_WARN,num)>0)
{
dlt_user_log_write_int(&mycontextdata,num);
dlt_user_log_write_string(&mycontextdata,text);
@@ -285,7 +285,7 @@ int main(int argc, char* argv[])
else
{
/* Verbose mode */
- if (dlt_user_log_write_start(&mycontext,&mycontextdata,DLT_LOG_WARN))
+ if (dlt_user_log_write_start(&mycontext,&mycontextdata,DLT_LOG_WARN)>0)
{
dlt_user_log_write_int(&mycontextdata,num);
dlt_user_log_write_string(&mycontextdata,text);
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index 89daac2..f655d14 100755
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -667,7 +667,7 @@ int dlt_register_context_ll_ts(DltContext *handle, const char *contextid, const
if (description!=0)
{
- int desc_lne = strlen(description);
+ int desc_len = strlen(description);
dlt_user.dlt_ll_ts[dlt_user.dlt_ll_ts_num_entries].context_description = malloc(desc_len+1);
strncpy(dlt_user.dlt_ll_ts[dlt_user.dlt_ll_ts_num_entries].context_description, description, strlen(desc_len));
@@ -964,31 +964,26 @@ int dlt_forward_msg(void *msgdata,size_t size)
/* ********************************************************************************************* */
-int dlt_user_log_write_start(DltContext *handle, DltContextData *log,DltLogLevelType loglevel)
+inline int dlt_user_log_write_start(DltContext *handle, DltContextData *log,DltLogLevelType loglevel)
{
return dlt_user_log_write_start_id(handle,log,loglevel,DLT_USER_DEFAULT_MSGID);
}
int dlt_user_log_write_start_id(DltContext *handle, DltContextData *log,DltLogLevelType loglevel, uint32_t messageid)
{
- uint32_t mid;
-
- if (dlt_user_initialised==0)
+ if (dlt_init()<0)
{
- if (dlt_init()<0)
- {
- return -1;
- }
+ return -1;
}
- if (dlt_user_log_init(handle, log)==-1)
+ if (log==0)
{
- return -1;
+ return -1;
}
- if (log==0)
+ if (dlt_user_log_init(handle, log)==-1)
{
- return -1;
+ return -1;
}
/* Removed because of DltLogLevelType
@@ -1788,7 +1783,7 @@ int dlt_log_string(DltContext *handle,DltLogLevelType loglevel, const char *text
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_string(&log,text)==-1)
{
@@ -1817,7 +1812,7 @@ int dlt_log_string_int(DltContext *handle,DltLogLevelType loglevel, const char *
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_string(&log,text)==-1)
{
@@ -1850,7 +1845,7 @@ int dlt_log_string_uint(DltContext *handle,DltLogLevelType loglevel, const char
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_string(&log,text)==-1)
{
@@ -1883,7 +1878,7 @@ int dlt_log_int(DltContext *handle,DltLogLevelType loglevel, int data)
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_int(&log,data)==-1)
{
@@ -1912,7 +1907,7 @@ int dlt_log_uint(DltContext *handle,DltLogLevelType loglevel, unsigned int data)
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_uint(&log,data)==-1)
{
@@ -1941,7 +1936,7 @@ int dlt_log_raw(DltContext *handle,DltLogLevelType loglevel, void *data,uint16_t
return -1;
}
- if (dlt_user_log_write_start(handle,&log,loglevel))
+ if (dlt_user_log_write_start(handle,&log,loglevel)>0)
{
if (dlt_user_log_write_raw(&log,data,length)==-1)
{
@@ -2567,6 +2562,7 @@ int dlt_user_print_msg(DltMessage *msg, DltContextData *log)
{
uint8_t *databuffer_tmp;
int32_t datasize_tmp;
+ int32_t databuffersize_tmp;
static char text[DLT_USER_TEXT_LENGTH];
if ((msg==0) || (log==0))
@@ -2577,6 +2573,7 @@ int dlt_user_print_msg(DltMessage *msg, DltContextData *log)
/* Save variables before print */
databuffer_tmp = msg->databuffer;
datasize_tmp = msg->datasize;
+ databuffersize_tmp = msg->databuffersize;
/* Act like a receiver, convert header back to host format */
msg->standardheader->len = DLT_BETOH_16(msg->standardheader->len);
@@ -2584,6 +2581,7 @@ int dlt_user_print_msg(DltMessage *msg, DltContextData *log)
msg->databuffer = log->buffer;
msg->datasize = log->size;
+ msg->databuffersize = log->size;
/* Print message as ASCII */
if (dlt_message_print_ascii(msg,text,DLT_USER_TEXT_LENGTH,0)==-1)
@@ -2593,6 +2591,7 @@ int dlt_user_print_msg(DltMessage *msg, DltContextData *log)
/* Restore variables and set len to BE*/
msg->databuffer = databuffer_tmp;
+ msg->databuffersize = databuffersize_tmp;
msg->datasize = datasize_tmp;
msg->standardheader->len = DLT_HTOBE_16(msg->standardheader->len);
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
index 4ebdaf1..31073d6 100755
--- a/src/shared/dlt_common.c
+++ b/src/shared/dlt_common.c
@@ -698,6 +698,7 @@ int dlt_message_init(DltMessage *msg,int verbose)
msg->datasize = 0;
msg->databuffer = 0;
+ msg->databuffersize = 0;
msg->storageheader = 0;
msg->standardheader = 0;
@@ -720,8 +721,9 @@ int dlt_message_free(DltMessage *msg,int verbose)
if (msg->databuffer)
{
free(msg->databuffer);
+ msg->databuffer = 0;
+ msg->databuffersize = 0;
}
- msg->databuffer = 0;
return 0;
}
@@ -1241,11 +1243,16 @@ int dlt_message_read(DltMessage *msg,uint8_t *buffer,unsigned int length,int res
/* free last used memory for buffer */
if (msg->databuffer)
{
- free(msg->databuffer);
+ if (msg->datasize>msg->databuffersize){
+ free(msg->databuffer);
+ msg->databuffer=(uint8_t *)malloc(msg->datasize);
+ msg->databuffersize = msg->datasize;
+ }
+ }else{
+ /* get new memory for buffer */
+ msg->databuffer = (uint8_t *)malloc(msg->datasize);
+ msg->databuffersize = msg->datasize;
}
-
- /* get new memory for buffer */
- msg->databuffer = (uint8_t *)malloc(msg->datasize);
if (msg->databuffer == 0)
{
sprintf(str,"Cannot allocate memory for payload buffer of size %d!\n",msg->datasize);
@@ -1588,13 +1595,17 @@ int dlt_file_read_data(DltFile *file, int verbose)
}
/* free last used memory for buffer */
- if (file->msg.databuffer)
+ if (file->msg.databuffer && (file->msg.databuffersize < file->msg.datasize))
{
free(file->msg.databuffer);
+ file->msg.databuffer=0;
}
- /* get new memory for buffer */
- file->msg.databuffer = (uint8_t *)malloc(file->msg.datasize);
+ if (file->msg.databuffer == 0){
+ /* get new memory for buffer */
+ file->msg.databuffer = (uint8_t *)malloc(file->msg.datasize);
+ file->msg.databuffersize = file->msg.datasize;
+ }
if (file->msg.databuffer == 0)
{
diff --git a/src/tests/dlt-test-user.c b/src/tests/dlt-test-user.c
index 7a3f2fa..4e26d9d 100755
--- a/src/tests/dlt-test-user.c
+++ b/src/tests/dlt-test-user.c
@@ -255,7 +255,7 @@ int main(int argc, char* argv[])
DLT_REGISTER_INJECTION_CALLBACK(context_macro_callback, 0xFFF, test_injection_macro_callback);
/* with function interface */
- if (dlt_user_log_write_start(&context_function_callback,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_function_callback,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Register callback (Function Interface) for Injection ID: 0xFFF");
dlt_user_log_write_finish(&context_data);
@@ -550,38 +550,38 @@ int test1f(void)
{
/* Test 1: (Function IF) Test all log levels */
printf("Test1f: (Function IF) Test all log levels\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test1: (Function IF) Test all log levels");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_FATAL))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_FATAL)>0)
{
dlt_user_log_write_string(&context_data,"fatal");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_ERROR))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_ERROR)>0)
{
dlt_user_log_write_string(&context_data,"error");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_WARN))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_WARN)>0)
{
dlt_user_log_write_string(&context_data,"warn");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"info");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_DEBUG))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_DEBUG)>0)
{
dlt_user_log_write_string(&context_data,"debug");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_VERBOSE))
+ if (dlt_user_log_write_start(&(context_function_test[0]),&context_data,DLT_LOG_VERBOSE)>0)
{
dlt_user_log_write_string(&context_data,"verbose");
dlt_user_log_write_finish(&context_data);
@@ -589,7 +589,7 @@ int test1f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test1: (Function IF) finished");
dlt_user_log_write_finish(&context_data);
@@ -605,89 +605,89 @@ int test2f(void)
/* Test 2: (Function IF) Test all variable types (verbose) */
printf("Test2f: (Function IF) Test all variable types (verbose)\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test2: (Function IF) Test all variable types (verbose)");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"bool");
dlt_user_log_write_bool(&context_data,1);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"int");
dlt_user_log_write_int(&context_data,INT32_MIN); /* (-2147483647-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"int8");
dlt_user_log_write_int8(&context_data,INT8_MIN); /* (-128) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"int16");
dlt_user_log_write_int16(&context_data,INT16_MIN); /* (-32767-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"int32");
dlt_user_log_write_int32(&context_data,INT32_MIN); /* (-2147483647-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"int64");
dlt_user_log_write_int64(&context_data,INT64_MIN); /* (-__INT64_C(9223372036854775807)-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"uint");
dlt_user_log_write_uint(&context_data,UINT32_MAX); /* (4294967295U) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"uint8");
dlt_user_log_write_uint8(&context_data,UINT8_MAX); /* (255) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"uint16");
dlt_user_log_write_uint16(&context_data,UINT16_MAX); /* (65535) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"uint32");
dlt_user_log_write_uint32(&context_data,UINT32_MAX); /* (4294967295U) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"uint64");
dlt_user_log_write_uint64(&context_data,UINT64_MAX); /* (__UINT64_C(18446744073709551615)) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"float32");
dlt_user_log_write_float32(&context_data,FLT_MIN);
dlt_user_log_write_float32(&context_data,FLT_MAX);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"float64");
dlt_user_log_write_float64(&context_data,DBL_MIN);
@@ -700,7 +700,7 @@ int test2f(void)
buffer[num2] = num2;
}
- if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[1]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"raw");
dlt_user_log_write_raw(&context_data,buffer,10);
@@ -709,7 +709,7 @@ int test2f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test2: (Function IF) finished");
dlt_user_log_write_finish(&context_data);
@@ -725,7 +725,7 @@ int test3f(void)
/* Test 3: (Function IF) Test all variable types (non-verbose) */
printf("Test3f: (Function IF) Test all variable types (non-verbose)\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test3: (Function IF) Test all variable types (non-verbose)");
dlt_user_log_write_finish(&context_data);
@@ -733,83 +733,83 @@ int test3f(void)
dlt_nonverbose_mode();
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,1))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,1)>0) // bug mb: we have to compare against >0. in case of error -1 is returned!
{
dlt_user_log_write_string(&context_data,"bool");
dlt_user_log_write_bool(&context_data,1);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,2))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,2)>0)
{
dlt_user_log_write_string(&context_data,"int");
dlt_user_log_write_int(&context_data,INT32_MIN); /* (-2147483647-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,3))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,3)>0)
{
dlt_user_log_write_string(&context_data,"int8");
dlt_user_log_write_int8(&context_data,INT8_MIN); /* (-128) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,4))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,4)>0)
{
dlt_user_log_write_string(&context_data,"int16");
dlt_user_log_write_int16(&context_data,INT16_MIN); /* (-32767-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,5))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,5)>0)
{
dlt_user_log_write_string(&context_data,"int32");
dlt_user_log_write_int32(&context_data,INT32_MIN); /* (-2147483647-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,6))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,6)>0)
{
dlt_user_log_write_string(&context_data,"int64");
dlt_user_log_write_int64(&context_data,INT64_MIN); /* (-__INT64_C(9223372036854775807)-1) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,7))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,7)>0)
{
dlt_user_log_write_string(&context_data,"uint");
dlt_user_log_write_uint(&context_data,UINT32_MAX); /* (4294967295U) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,8))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,8)>0)
{
dlt_user_log_write_string(&context_data,"uint8");
dlt_user_log_write_uint8(&context_data,UINT8_MAX); /* (255) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,9))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,9)>0)
{
dlt_user_log_write_string(&context_data,"uint16");
dlt_user_log_write_uint16(&context_data,UINT16_MAX); /* (65535) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,10))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,10)>0)
{
dlt_user_log_write_string(&context_data,"uint32");
dlt_user_log_write_uint32(&context_data,UINT32_MAX); /* (4294967295U) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,11))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,11)>0)
{
dlt_user_log_write_string(&context_data,"uint64");
dlt_user_log_write_uint64(&context_data,UINT64_MAX); /* (__UINT64_C(18446744073709551615)) */
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,12))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,12)>0)
{
dlt_user_log_write_string(&context_data,"float32");
dlt_user_log_write_float32(&context_data,FLT_MIN);
dlt_user_log_write_float32(&context_data,FLT_MAX);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,13))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,13)>0)
{
dlt_user_log_write_string(&context_data,"float64");
dlt_user_log_write_float64(&context_data,DBL_MIN);
@@ -822,7 +822,7 @@ int test3f(void)
buffer[num2] = num2;
}
- if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,14))
+ if (dlt_user_log_write_start_id(&(context_function_test[2]),&context_data,DLT_LOG_INFO,14)>0)
{
dlt_user_log_write_string(&context_data,"raw");
dlt_user_log_write_raw(&context_data,buffer,10);
@@ -833,7 +833,7 @@ int test3f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test3: (Function IF) finished");
dlt_user_log_write_finish(&context_data);
@@ -854,31 +854,31 @@ int test4f(void)
/* Test 4: (Function IF) Message size test */
printf("Test4f: (Function IF) Test different message sizes\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test4: (Function IF) Test different message sizes");
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"1");
dlt_user_log_write_raw(&context_data,buffer,1);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"16");
dlt_user_log_write_raw(&context_data,buffer,16);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"256");
dlt_user_log_write_raw(&context_data,buffer,256);
dlt_user_log_write_finish(&context_data);
}
- if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[3]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"1024");
dlt_user_log_write_raw(&context_data,buffer,1024);
@@ -887,7 +887,7 @@ int test4f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test4: (Function IF) finished");
dlt_user_log_write_finish(&context_data);
@@ -939,21 +939,21 @@ int test6f(void)
{
/* Test 6: (Function IF) Test local printing */
printf("Test6f: (Function IF) Test local printing\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test 6: (Function IF) Test local printing");
dlt_user_log_write_finish(&context_data);
}
dlt_enable_local_print();
- if (dlt_user_log_write_start(&(context_function_test[5]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[5]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Message (visible: locally printed)");
dlt_user_log_write_finish(&context_data);
}
dlt_disable_local_print();
- if (dlt_user_log_write_start(&(context_function_test[5]),&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&(context_function_test[5]),&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Message (invisible: not locally printed)");
dlt_user_log_write_finish(&context_data);
@@ -961,7 +961,7 @@ int test6f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test6: (Function IF) finished");
dlt_user_log_write_finish(&context_data);
@@ -985,7 +985,7 @@ int test7f(void)
/* Test 7: (Function IF) Test network trace */
printf("Test7f: (Function IF) Test network trace\n");
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test 7: (Function IF) Test network trace");
dlt_user_log_write_finish(&context_data);
@@ -999,7 +999,7 @@ int test7f(void)
/* wait 2 second before next test */
sleep(2);
- if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO))
+ if (dlt_user_log_write_start(&context_info,&context_data,DLT_LOG_INFO)>0)
{
dlt_user_log_write_string(&context_data,"Test7: (Function IF) finished");
dlt_user_log_write_finish(&context_data);