diff --git a/src/shared/transport_ssh.c b/src/shared/transport_ssh.c index 4ff2bb8..cefcfe1 100644 --- a/src/shared/transport_ssh.c +++ b/src/shared/transport_ssh.c @@ -138,24 +138,19 @@ Client* client_connect_ssh(const char* destination, int port) { ssh_argv[ac++] = "-o"; ssh_argv[ac++] = "ControlPath=~/.cache/fastsync-%r@%h:%p"; if (port > 0 && port != 22) { - if ((size_t)ac + 2 >= ssh_argv_max) { - free(ssh_argv); + if ((size_t)ac + 2 >= ssh_argv_max) _exit(1); - } ssh_argv[ac++] = "-p"; snprintf(port_str, sizeof(port_str), "%d", port); ssh_argv[ac++] = port_str; } - if ((size_t)ac + 3 >= ssh_argv_max) { - free(ssh_argv); + if ((size_t)ac + 3 >= ssh_argv_max) _exit(1); - } ssh_argv[ac++] = ssh_user; ssh_argv[ac++] = "fastsync-server"; ssh_argv[ac++] = "--stdio"; ssh_argv[ac] = NULL; execvp("ssh", ssh_argv); - free(ssh_argv); perror("exec of ssh failed"); ssize_t wret = write(exec_pipe[1], "x", 1); (void)wret; diff --git a/tests/test_protocol.c b/tests/test_protocol.c index 09c2a46..bece803 100644 --- a/tests/test_protocol.c +++ b/tests/test_protocol.c @@ -179,7 +179,7 @@ static void test_receive_str_oversized() { size_t huge = MAX_STRING_SIZE + 1; EXPECT_TRUE(send_n_data(0, &huge, sizeof(size_t))); - char* received = receive_str(0); + const char* received = receive_str(0); EXPECT_NULL(received); close(p[0]);