A few static-analysis-changes
authorPhilipp Tölke <toelke@in.tum.de>
Mon, 10 Jan 2011 21:41:30 +0000 (21:41 +0000)
committerPhilipp Tölke <toelke@in.tum.de>
Mon, 10 Jan 2011 21:41:30 +0000 (21:41 +0000)
src/vpn/gnunet-daemon-vpn.c
src/vpn/gnunet-helper-vpn.c
src/vpn/gnunet-service-dns.c

index acdb05ce18021232d5cd93d393dcbfd4897ed407..31513f2c2eb597af7cb606cb11926ecf1c152ddf 100644 (file)
@@ -209,7 +209,8 @@ cleanup(void* cls, const struct GNUNET_SCHEDULER_TaskContext* tskctx) {
     /* stop the helper */
     if (helper_proc != NULL)
       {
-       GNUNET_OS_process_kill (helper_proc, SIGTERM);
+       if (0 != GNUNET_OS_process_kill (helper_proc, SIGTERM))
+         GNUNET_log_strerror(GNUNET_ERROR_TYPE_WARNING, "kill");
        GNUNET_OS_process_wait (helper_proc);
        GNUNET_OS_process_close (helper_proc);
        helper_proc = NULL;
@@ -354,6 +355,7 @@ helper_write(void* cls, const struct GNUNET_SCHEDULER_TaskContext* tsdkctx) {
     size_t pkt_len = sizeof(struct GNUNET_MessageHeader) + sizeof(struct pkt_tun) + net_len;
 
     struct ip_udp_dns* pkt = alloca(pkt_len);
+    GNUNET_assert(pkt != NULL);
     memset(pkt, 0, pkt_len);
 
     /* set the gnunet-header */
@@ -427,6 +429,7 @@ send_icmp_response(void* cls, const struct GNUNET_SCHEDULER_TaskContext *tc) {
     struct ip6_icmp* request = cls;
 
     struct ip6_icmp* response = alloca(ntohs(request->shdr.size));
+    GNUNET_assert(response != NULL);
     memset(response, 0, ntohs(request->shdr.size));
 
     response->shdr.size = request->shdr.size;
@@ -538,6 +541,7 @@ message_token(void *cls,
            if ((key = address_mapping_exists(pkt6->ip6_hdr.dadr)) != NULL)
              {
                struct map_entry* me = GNUNET_CONTAINER_multihashmap_get(hashmap, key);
+               GNUNET_assert(me != NULL);
                GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Mapping exists; type: %d; UDP is %d; port: %x/%x!\n", me->desc.service_type, htonl(GNUNET_DNS_SERVICE_TYPE_UDP), pkt6_udp->udp_hdr.dpt, me->desc.ports);
                GNUNET_free(key);
                if (me->desc.service_type & htonl(GNUNET_DNS_SERVICE_TYPE_UDP) &&
@@ -619,6 +623,8 @@ connect_to_service_dns (void *cls,
     GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Connecting to service-dns\n");
     GNUNET_assert (dns_connection == NULL);
     dns_connection = GNUNET_CLIENT_connect ("dns", cfg);
+    /* This would most likely be a misconfiguration */
+    GNUNET_assert(dns_connection != NULL);
     GNUNET_CLIENT_receive(dns_connection, &dns_answer_handler, NULL, GNUNET_TIME_UNIT_FOREVER_REL);
 
     /* If a packet is already in the list, schedule to send it */
@@ -939,6 +945,8 @@ receive_udp_back (void *cls, const struct GNUNET_PeerIdentity *other,
 
   struct ip6_udp* pkt6 = alloca(size);
 
+  GNUNET_assert(pkt6 != NULL);
+
   GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Relaying calc:%d gnu:%d udp:%d bytes!\n", size, ntohs(message->size), ntohs(pkt->len));
 
   pkt6->shdr.type = htons(GNUNET_MESSAGE_TYPE_VPN_HELPER);
@@ -1038,6 +1046,7 @@ receive_udp_service (void *cls, const struct GNUNET_PeerIdentity *other,
     {
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Creating new Socket!\n");
       sock = GNUNET_NETWORK_socket_create (AF_INET, SOCK_DGRAM, 0);
+      GNUNET_assert(sock != NULL);
       new = GNUNET_YES;
     }
 
index b8b5b16e6f106e6b26a41a57644717de5771d1ac..1d21a431fc0327fbcd1241e051fae62193a89ebe 100644 (file)
@@ -54,6 +54,12 @@ void term(int sig) {
 static void set_address6(char* dev, char* address, unsigned long prefix_len) { /* {{{ */
        int fd = socket(AF_INET6, SOCK_DGRAM, 0);
 
+       if (fd < 0)
+         {
+           fprintf(stderr, "error creating socket: %m\n");
+           exit(1);
+         }
+
        struct ifreq ifr;
        struct in6_ifreq ifr6;
 
@@ -62,7 +68,12 @@ static void set_address6(char* dev, char* address, unsigned long prefix_len) { /
 
        sa6.sin6_family = AF_INET6;
 
-       /* FIXME */ inet_pton(AF_INET6, address, sa6.sin6_addr.s6_addr);
+       int r =  inet_pton(AF_INET6, address, sa6.sin6_addr.s6_addr);
+       if (r < 0)
+         {
+           fprintf(stderr, "error at inet_pton: %m\n");
+           exit(1);
+         }
 
        memcpy((char *) &ifr6.ifr6_addr, (char *) &sa6.sin6_addr, sizeof(struct in6_addr));
 
@@ -79,9 +90,9 @@ static void set_address6(char* dev, char* address, unsigned long prefix_len) { /
                perror("SIOCSIFADDR");
        }
 
-       /* FIXME */ ioctl(fd, SIOCGIFFLAGS, &ifr);
+       (void)ioctl(fd, SIOCGIFFLAGS, &ifr);
        ifr.ifr_flags |= IFF_UP | IFF_RUNNING;
-       /* FIXME */ ioctl(fd, SIOCSIFFLAGS, &ifr);
+       (void)ioctl(fd, SIOCSIFFLAGS, &ifr);
        close(fd);
 } /* }}} */
 
@@ -96,7 +107,12 @@ static void set_address4(char* dev, char* address, char* mask) { /* {{{ */
        addr->sin_family = AF_INET;
        addr->sin_addr.s_addr = inet_addr(address);
 
-       /* FIXME */ inet_pton(AF_INET, address, &addr->sin_addr.s_addr);
+       int r = inet_pton(AF_INET, address, &addr->sin_addr.s_addr);
+       if (r < 0)
+         {
+           fprintf(stderr, "error at inet_pton: %m\n");
+           exit(1);
+         }
 
        fd = socket(PF_INET, SOCK_DGRAM, 0);
        if(fd < 0) {
@@ -113,7 +129,12 @@ static void set_address4(char* dev, char* address, char* mask) { /* {{{ */
        }
 
        addr = (struct sockaddr_in*)&(ifr.ifr_netmask);
-       /* FIXME */ inet_pton(AF_INET, mask, &addr->sin_addr.s_addr);
+       r = inet_pton(AF_INET, mask, &addr->sin_addr.s_addr);
+       if (r < 0)
+         {
+           fprintf(stderr, "error at inet_pton: %m\n");
+           exit(1);
+         }
 
        if(ioctl(fd, SIOCSIFNETMASK, &ifr) != 0 ) {
                perror("SIOCSIFNETMASK");
@@ -121,9 +142,9 @@ static void set_address4(char* dev, char* address, char* mask) { /* {{{ */
                return;
        }
 
-       /* FIXME */ ioctl(fd, SIOCGIFFLAGS, &ifr);
+       (void)ioctl(fd, SIOCGIFFLAGS, &ifr);
        ifr.ifr_flags |= IFF_UP | IFF_RUNNING;
-       /* FIXME */ ioctl(fd, SIOCSIFFLAGS, &ifr);
+       (void)ioctl(fd, SIOCSIFFLAGS, &ifr);
        close(fd);
 } /* }}} */
 
index 46f324cf7651363e40d5d139a6ac65f801e11d19..85ec9ac82c553dff905a7854ed86e85b56a56596 100644 (file)
@@ -535,6 +535,7 @@ publish_name (void *cls,
 
     struct GNUNET_CRYPTO_RsaPrivateKey *my_private_key = GNUNET_CRYPTO_rsa_key_create_from_file(keyfile);
     GNUNET_free(keyfile);
+    GNUNET_assert(my_private_key != NULL);
 
     GNUNET_CRYPTO_rsa_key_get_public(my_private_key, &data.peer);