From d9be2da7b464c9ce91ae4f0423de51497f7bd81d Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Sat, 6 Jan 2018 13:48:12 +0100 Subject: [PATCH] close socket after using --- src/include/datastorage.h | 1 + src/network/tcpsocket.c | 2 ++ src/storage/datastorage.c | 1 + 3 files changed, 4 insertions(+) diff --git a/src/include/datastorage.h b/src/include/datastorage.h index 3328f13..cd862d3 100644 --- a/src/include/datastorage.h +++ b/src/include/datastorage.h @@ -170,6 +170,7 @@ typedef struct ap_s { time_t time; uint32_t station_count; uint8_t ssid[SSID_MAX_LEN]; + uint32_t collision_domain; } ap; // ---------------- Defines ---------------- diff --git a/src/network/tcpsocket.c b/src/network/tcpsocket.c index ded7600..227063d 100644 --- a/src/network/tcpsocket.c +++ b/src/network/tcpsocket.c @@ -188,12 +188,14 @@ int add_tcp_conncection(char* ipv4, int port){ print_tcp_array(); if(tcp_array_contains_address(serv_addr)) { + close(sockfd); return 0; } if (connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) { + close(sockfd); fprintf(stderr,"ERROR connecting\n"); return 0; } diff --git a/src/storage/datastorage.c b/src/storage/datastorage.c index 5b92996..7188f04 100644 --- a/src/storage/datastorage.c +++ b/src/storage/datastorage.c @@ -1346,6 +1346,7 @@ void send_tcp(char* msg) for (int i = 0; i <= tcp_entry_last; i++) { if(send(network_array[i].sockfd, msg, strlen(msg), 0) < 0) { + close(network_array->sockfd); printf("Removing bad TCP connection!\n"); for (int j = i; j < client_entry_last; j++) { network_array[j] = network_array[j + 1];