summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLassi Marttala <lassi.lm.marttala@partner.bmw.de>2012-06-04 10:50:33 +0200
committerChristian Muck <christian.muck@bmw.de>2012-06-13 23:53:07 +0200
commit021a364502c189c2cdcebbf9af06339aba7b7ffe (patch)
tree5b8d1ad19bb2786d8ce6c40789961bdd450d6a57
parent54daad6cc95fb66662c894fabb5fd18308eec6e0 (diff)
downloadDLT-daemon-021a364502c189c2cdcebbf9af06339aba7b7ffe.tar.gz
[GENDLT-24]: Crash on invalid injection message.
Check that the size of the injection message is sane. Signed-off-by: Christian Muck <christian.muck@bmw.de>
-rw-r--r--src/daemon/dlt_daemon_common.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
index 021dddf..be472a3 100644
--- a/src/daemon/dlt_daemon_common.c
+++ b/src/daemon/dlt_daemon_common.c
@@ -1304,6 +1304,12 @@ void dlt_daemon_control_callsw_cinjection(int sock, DltDaemon *daemon, DltMessag
usercontext.log_level_pos = context->log_level_pos;
+ if(data_length_inject > msg->databuffersize)
+ {
+ dlt_daemon_control_service_response(sock, daemon, id, DLT_SERVICE_RESPONSE_ERROR, verbose);
+ return;
+ }
+
userbuffer = malloc(data_length_inject);
if (userbuffer==0)