diff --git a/src/shared/transport_tcp.c b/src/shared/transport_tcp.c index e53a854..8e4e9de 100644 --- a/src/shared/transport_tcp.c +++ b/src/shared/transport_tcp.c @@ -41,6 +41,7 @@ Server* server_create(int port) { return NULL; } memset(&server->address, 0, sizeof(server->address)); + server->ssl_ctx = NULL; // Try IPv6 first, fall back to IPv4 int fd = socket(AF_INET6, SOCK_STREAM, 0); diff --git a/tests/test_file_sendfile.c b/tests/test_file_sendfile.c index 871fc73..3ef3835 100644 --- a/tests/test_file_sendfile.c +++ b/tests/test_file_sendfile.c @@ -224,8 +224,10 @@ static void test_sendfile_no_path() { pid_t pid = fork(); if (pid == 0) { close(p[1]); - /* When send_path is false, the sender sends raw data (size + bytes) only. - * We need to receive just the Data, not a File. */ + /* Read file type indicator */ + int file_type; + EXPECT_TRUE(receive_int(p[0], &file_type)); + EXPECT_EQ_INT(file_type, (int)FILE_TYPE_REGULAR); Data* received = receive_data(p[0]); close(p[0]); diff --git a/tests/test_transport_tcp.c b/tests/test_transport_tcp.c index 7eea888..01e8c06 100644 --- a/tests/test_transport_tcp.c +++ b/tests/test_transport_tcp.c @@ -8,8 +8,8 @@ static void test_client_create_delete() { Client* client = client_create(); EXPECT_NOT_NULL(client); - EXPECT_TRUE(client->file_descriptor >= 0); - EXPECT_EQ_INT(client->address.sin_family, AF_INET); + EXPECT_EQ_INT(client->file_descriptor, -1); + EXPECT_TRUE(client->address.ss_family == AF_UNSPEC); EXPECT_EQ_INT(client->ssh_child_pid, -1); EXPECT_NULL(client->ssl); EXPECT_NULL(client->ssl_ctx); @@ -30,7 +30,7 @@ static void test_server_create_delete() { Server* server = server_create(0); EXPECT_NOT_NULL(server); EXPECT_TRUE(server->file_descriptor >= 0); - EXPECT_EQ_INT(server->address.sin_family, AF_INET); + EXPECT_TRUE(server->address.ss_family == AF_INET || server->address.ss_family == AF_INET6); EXPECT_NULL(server->ssl_ctx); /* Clean up */ @@ -57,9 +57,8 @@ static void test_client_create_multiple() { Client* c2 = client_create(); EXPECT_NOT_NULL(c1); EXPECT_NOT_NULL(c2); - EXPECT_TRUE(c1->file_descriptor >= 0); - EXPECT_TRUE(c2->file_descriptor >= 0); - EXPECT_TRUE(c1->file_descriptor != c2->file_descriptor); + EXPECT_EQ_INT(c1->file_descriptor, -1); + EXPECT_EQ_INT(c2->file_descriptor, -1); client_delete(c1); client_delete(c2);