diff options
author | Marco Residori <marco_residori@mentor.com> | 2015-09-27 09:20:34 +0200 |
---|---|---|
committer | Marco Residori <marco_residori@mentor.com> | 2015-09-27 09:20:34 +0200 |
commit | 4b07762bc58fc8114e02dbe0d8ad96b355b44b20 (patch) | |
tree | 184c4fa9fa92f368342893839078519c1e9bf34c | |
parent | d7a462c970886b063db8d5f04d91931f8b36543b (diff) | |
download | positioning-4b07762bc58fc8114e02dbe0d8ad96b355b44b20.tar.gz |
Fix defects identified by Coverity Scan
-rw-r--r-- | gnss-service/src/gnss-use-replayer.c | 3 | ||||
-rw-r--r-- | log-replayer/src/log-replayer.c | 14 | ||||
-rw-r--r-- | log-replayer/test/test-log-replayer.c | 2 | ||||
-rw-r--r-- | sensors-service/src/sns-use-iphone.c | 7 | ||||
-rw-r--r-- | sensors-service/src/sns-use-replayer.c | 7 |
5 files changed, 23 insertions, 10 deletions
diff --git a/gnss-service/src/gnss-use-replayer.c b/gnss-service/src/gnss-use-replayer.c index e937e41..7b099e6 100644 --- a/gnss-service/src/gnss-use-replayer.c +++ b/gnss-service/src/gnss-use-replayer.c @@ -438,7 +438,6 @@ void *listenForMessages( void *ptr ) { struct sockaddr_in si_me; struct sockaddr_in si_other; - //int s; socklen_t slen = sizeof(si_other); ssize_t readBytes = 0; char buf[BUFLEN]; @@ -471,7 +470,7 @@ void *listenForMessages( void *ptr ) { readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, (socklen_t *)&slen); - if(readBytes == -1) + if(readBytes < 0) { LOG_ERROR_MSG(gContext,"recvfrom() failed!"); exit(EXIT_FAILURE); diff --git a/log-replayer/src/log-replayer.c b/log-replayer/src/log-replayer.c index b43f085..c5afd51 100644 --- a/log-replayer/src/log-replayer.c +++ b/log-replayer/src/log-replayer.c @@ -35,7 +35,7 @@ #define PORT2 9931 //port used for sensor data #define PORT3 9932 //port used for vehicle data #define IPADDR_DEFAULT "127.0.0.1" -#define MAXDELTA 1000000 //max value to avoid overflow +#define MAXDELTA 1000 //max value to avoid overflow DLT_DECLARE_CONTEXT(gContext); @@ -51,7 +51,7 @@ bool getStrToSend(FILE* file, char* line, int dim) { static long unsigned int lastTimestamp = 0; long unsigned int timestamp = 0; - long unsigned int delta = 0; + long signed int delta = 0; if(dim <= 0) { @@ -108,11 +108,15 @@ bool getStrToSend(FILE* file, char* line, int dim) if(delta > MAXDELTA) { - LOG_WARNING(gContext,"timestamp - lastTimestamp too big at %ld. ignoring line to avoid overflow", timestamp); - return true; + LOG_WARNING(gContext,"delta time too big at %ld. delta time set to %d to avoid overflow", timestamp, MAXDELTA); + delta = MAXDELTA; } - usleep(delta*1000); // TODO time drift issues + if(usleep(delta*1000) != 0) // TODO time drift issues + { + LOG_WARNING(gContext,"uslee failed"); + return true; + } return true; } diff --git a/log-replayer/test/test-log-replayer.c b/log-replayer/test/test-log-replayer.c index 5d9c24a..7867661 100644 --- a/log-replayer/test/test-log-replayer.c +++ b/log-replayer/test/test-log-replayer.c @@ -73,7 +73,7 @@ int main(int argc, char* argv[]) { readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *) &si_other, &slen); - if(readBytes == -1) + if(readBytes < 0) { LOG_ERROR_MSG(gContext,"recvfrom() failed!"); return EXIT_FAILURE; diff --git a/sensors-service/src/sns-use-iphone.c b/sensors-service/src/sns-use-iphone.c index 78d9c97..92c9925 100644 --- a/sensors-service/src/sns-use-iphone.c +++ b/sensors-service/src/sns-use-iphone.c @@ -156,6 +156,7 @@ void *listenForMessages( void *ptr ) long unsigned int timestamp = 0; int s; socklen_t slen = sizeof(si_other); + ssize_t readBytes = 0; char buf[BUFLEN]; int msgId; int port = PORT; @@ -184,12 +185,16 @@ void *listenForMessages( void *ptr ) while(isRunning == true) { - if(recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen) == -1) + readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen); + + if(readBytes < 0) { LOG_ERROR_MSG(gContext,"recvfrom() failed!"); exit(EXIT_FAILURE); } + buf[readBytes] = '\0'; + LOG_DEBUG_MSG(gContext,"------------------------------------------------"); LOG_DEBUG(gContext,"Received Packet from %s:%d", diff --git a/sensors-service/src/sns-use-replayer.c b/sensors-service/src/sns-use-replayer.c index 46df7e5..3dbd1a3 100644 --- a/sensors-service/src/sns-use-replayer.c +++ b/sensors-service/src/sns-use-replayer.c @@ -305,6 +305,7 @@ void *listenForMessages( void *ptr ) struct sockaddr_in si_other; int s; socklen_t slen = sizeof(si_other); + ssize_t readBytes = 0; char buf[BUFLEN]; char msgId[MSGIDLEN]; int port = PORT; @@ -333,11 +334,15 @@ void *listenForMessages( void *ptr ) while(isRunning == true) { - if(recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen) == -1) + readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen); + + if(readBytes < 0) { LOG_ERROR_MSG(gContext,"recvfrom() failed!"); exit(EXIT_FAILURE); } + + buf[readBytes] = '\0'; LOG_DEBUG_MSG(gContext,"------------------------------------------------"); |