summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Residori <marco_residori@mentor.com>2015-09-27 09:20:34 +0200
committerMarco Residori <marco_residori@mentor.com>2015-09-27 09:20:34 +0200
commit4b07762bc58fc8114e02dbe0d8ad96b355b44b20 (patch)
tree184c4fa9fa92f368342893839078519c1e9bf34c
parentd7a462c970886b063db8d5f04d91931f8b36543b (diff)
downloadpositioning-4b07762bc58fc8114e02dbe0d8ad96b355b44b20.tar.gz
Fix defects identified by Coverity Scan
-rw-r--r--gnss-service/src/gnss-use-replayer.c3
-rw-r--r--log-replayer/src/log-replayer.c14
-rw-r--r--log-replayer/test/test-log-replayer.c2
-rw-r--r--sensors-service/src/sns-use-iphone.c7
-rw-r--r--sensors-service/src/sns-use-replayer.c7
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,"------------------------------------------------");