dccp_recv.c: Fix memory leak in dccp_recv_open()
[paraslash.git] / dccp_recv.c
index 943b8283e6a0f135c3b0edbc3cd5de44e250cedb..4883e4a223c5bb9073601cfe5778ed7f86bf3ae7 100644 (file)
@@ -95,9 +95,12 @@ static int dccp_recv_open(struct receiver_node *rn)
        if (ret < 0)
                goto err_out;
        PARA_NOTICE_LOG("connecting to %s:%d\n", conf->host_arg, conf->port_arg);
-       ret = -E_DCCP_CONNECT;
-       if (connect(pdd->fd, ai->ai_addr, ai->ai_addrlen) < 0)
+       ret = connect(pdd->fd, ai->ai_addr, ai->ai_addrlen);
+       freeaddrinfo(ai);
+       if (ret < 0) {
+               ret = -E_DCCP_CONNECT;
                goto err_out;
+       }
        mark_fd_nonblock(pdd->fd);
        return 1;
 err_out: