diff --git a/ggatessh/ggatessh.c b/ggatessh/ggatessh.c index 94b289e..692c036 100644 --- a/ggatessh/ggatessh.c +++ b/ggatessh/ggatessh.c @@ -696,9 +696,11 @@ proc_thread(void *arg __unused) session = start_conn.c_session; gsc = malloc(sizeof *gsc); - gsc->sc_ssh_session = start_conn.c_session; - gsc->sc_session = start_conn.c_sftp_session; - gsc->sc_handle = start_conn.c_handle; + *gsc = (struct ggs_sess_cache){ + .sc_ssh_session = start_conn.c_session, + .sc_session = start_conn.c_sftp_session, + .sc_handle = start_conn.c_handle, + }; TAILQ_INSERT_HEAD(&session_cache, gsc, sc_next); gsc = NULL;