diff options
author | Simon Brandner <simon.brandner@partner.bmw.de> | 2013-03-19 14:24:37 +0100 |
---|---|---|
committer | Alexander Wenzel <Alexander.AW.Wenzel@bmw.de> | 2013-07-19 16:54:45 +0200 |
commit | 205f941eabcac08cf66745e6527067077e57aaa7 (patch) | |
tree | ea0f18b1967c676f2a148d24ef6406418b706d29 /src/shared/dlt_common.c | |
parent | 0455d98d5664dd8891b3e5c97f268a0da0828e12 (diff) | |
download | DLT-daemon-205f941eabcac08cf66745e6527067077e57aaa7.tar.gz |
Removed possible recursive call of dlt_user_log_file_errorMessage. Added some return value checks for system calls (stat,fseek) and error logging in those cases.
Conflicts:
src/lib/dlt_filetransfer.c
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'src/shared/dlt_common.c')
-rwxr-xr-x | src/shared/dlt_common.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c index 8047fcb..19a1698 100755 --- a/src/shared/dlt_common.c +++ b/src/shared/dlt_common.c @@ -1782,11 +1782,16 @@ int dlt_file_read(DltFile *file,int verbose) /* skip additional header parameters and payload data */ if (fseek(file->handle,file->msg.headersize - sizeof(DltStorageHeader) - sizeof(DltStandardHeader) + file->msg.datasize,SEEK_CUR)) { - /* go back to last position in file */ - fseek(file->handle,file->file_position,SEEK_SET); + sprintf(str,"Seek failed to skip extra header and payload data from file of size %d!\n", file->msg.headersize - sizeof(DltStorageHeader) - sizeof(DltStandardHeader) + file->msg.datasize); dlt_log(LOG_ERR, str); + /* go back to last position in file */ + if (fseek(file->handle,file->file_position,SEEK_SET)) + { + sprintf(str,"Seek back also failed!\n"); + dlt_log(LOG_ERR, str); + } return -1; } |