]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
[sctp] cleanup bugs detected in error paths by coverity scan
authorFabio M. Di Nitto <fdinitto@redhat.com>
Thu, 18 Jul 2019 09:57:36 +0000 (11:57 +0200)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Wed, 21 Aug 2019 08:38:10 +0000 (10:38 +0200)
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
libknet/transport_sctp.c

index d0d2c2eea890cf6ba0c1cd4950e0769340ef678b..cde9851e62e6aaaefde5ae12fb865ea9eec04b63 100644 (file)
@@ -811,12 +811,14 @@ static void _handle_incoming_sctp(knet_handle_t knet_h, int listen_sock)
 
 exit_error:
        if (err) {
-               if ((i >= 0) || (i < MAX_ACCEPTED_SOCKS)) {
+               if ((i >= 0) && (i < MAX_ACCEPTED_SOCKS)) {
                        info->accepted_socks[i] = -1;
                }
                _set_fd_tracker(knet_h, new_fd, KNET_MAX_TRANSPORTS, SCTP_NO_LINK_INFO, NULL);
                free(accept_info);
-               close(new_fd);
+               if (new_fd >= 0) {
+                       close(new_fd);
+               }
        }
        errno = savederrno;
        return;
@@ -1205,7 +1207,7 @@ int sctp_transport_link_set_config(knet_handle_t knet_h, struct knet_link *kn_li
 exit_error:
        if (err) {
                if (info) {
-                       if (info->connect_sock) {
+                       if (info->connect_sock >= 0) {
                                close(info->connect_sock);
                        }
                        if (info->listener) {