mdns: check return value of sendto
authorFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 23 Oct 2012 10:32:33 +0000 (12:32 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Tue, 23 Oct 2012 11:45:14 +0000 (13:45 +0200)
Coverity:
CID 739617 (#1 of 1): Unchecked return value (CHECKED_RETURN)
At (7): Calling function "sendto(walker->helloSkfd, (char const *)hello,
        25UL, 0, (struct sockaddr *)&dest, 16U)" without checking return
        value. This library function may fail and return an error code.
At (8): No check of the return value of "sendto(walker->helloSkfd, (
        char const *)hello, 25UL, 0, (struct sockaddr *)&dest, 16U)".

CID 739617 (#2 of 2): Unchecked return value (CHECKED_RETURN)
At (7): Calling function "sendto(walker->helloSkfd, (char const *)hello,
        25UL, 0, (struct sockaddr *)&dest6, 28U)" without checking
        return value. This library function may fail and return an error
        code.
At (8): No check of the return value of "sendto(walker->helloSkfd, (
        char const *)hello, 25UL, 0, (struct sockaddr *)&dest6, 28U)".

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/mdns/src/RouterElection.c

index 136b185..cb15027 100644 (file)
@@ -121,8 +121,10 @@ void helloTimer (void *foo __attribute__ ((unused))){
 
       OLSR_PRINTF(1,"hello running \n");
 
-      sendto(walker->helloSkfd, (const char * ) hello, 
-                       sizeof(struct RtElHelloPkt), 0, (struct sockaddr *)&dest, sizeof(dest));
+      if (sendto(walker->helloSkfd, (const char * ) hello,
+                       sizeof(struct RtElHelloPkt), 0, (struct sockaddr *)&dest, sizeof(dest)) < 0) {
+        BmfPError("Could not send to interface %s", walker->olsrIntf->int_name);
+      }
     }
     else{
       memset((char *) &dest6, 0, sizeof(dest6));
@@ -132,8 +134,10 @@ void helloTimer (void *foo __attribute__ ((unused))){
 
       OLSR_PRINTF(1,"hello running \n");
 
-      sendto(walker->helloSkfd, (const char * ) hello,  
-                        sizeof(struct RtElHelloPkt), 0, (struct sockaddr *)&dest6, sizeof(dest6));
+      if (sendto(walker->helloSkfd, (const char * ) hello,
+                        sizeof(struct RtElHelloPkt), 0, (struct sockaddr *)&dest6, sizeof(dest6)) < 0) {
+        BmfPError("Could not send to interface %s", walker->olsrIntf->int_name);
+      }
     }
   }
   return;