diff options
author | Lassi Marttala <lassi.lm.marttala@partner.bmw.com> | 2012-02-21 13:02:16 +0100 |
---|---|---|
committer | Christian Muck <christian.muck@bmw.de> | 2012-04-04 14:30:43 +0200 |
commit | 5909561a7ac82ba25694321f3ffa37c83f7e085f (patch) | |
tree | ba7c99792490570dc3a367600a4ad7fba79e6876 /src/lib/dlt_user.c | |
parent | aea3ecd7cbbdff54dc061357e96cf606f9a52dea (diff) | |
download | DLT-daemon-5909561a7ac82ba25694321f3ffa37c83f7e085f.tar.gz |
GENDLT-15, Safe re-allocations for databuffer.
Signed-off-by: Christian Muck <christian.muck@bmw.de>
Diffstat (limited to 'src/lib/dlt_user.c')
-rwxr-xr-x | src/lib/dlt_user.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c index 3e8bf0e..b9ceb14 100755 --- a/src/lib/dlt_user.c +++ b/src/lib/dlt_user.c @@ -469,11 +469,14 @@ int dlt_register_app(const char *appid, const char * description) if (description!=0) { - dlt_user.application_description= malloc(strlen(description)+1); - strncpy(dlt_user.application_description, description, strlen(description)); + size_t desc_len = strlen(description); + dlt_user.application_description= malloc(desc_len+1); + if (dlt_user.application_description){ + strncpy(dlt_user.application_description, description, desc_len); - /* Terminate transmitted string with 0 */ - dlt_user.application_description[strlen(description)]='\0'; + /* Terminate transmitted string with 0 */ + dlt_user.application_description[desc_len]='\0'; + } } DLT_SEM_FREE(); @@ -667,7 +670,7 @@ int dlt_register_context_ll_ts(DltContext *handle, const char *contextid, const if (description!=0) { - int desc_len = strlen(description); + size_t 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, desc_len); |