]> 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>
Tue, 23 Jul 2019 04:45:30 +0000 (06:45 +0200)
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
libknet/transport_sctp.c

index 7da4f528e80c8c972e5e115f40216e92e4dc9bc2..b35a213cf13a48ae0f3277b28789808318a67801 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) {