From 3085dbca36a76aa04c8a54c77737684131cc39a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Wed, 27 Dec 2023 01:49:45 -0500
Subject: [PATCH] Fix allocation size of client state

---
 src/sftp/sftp_client.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/sftp/sftp_client.c b/src/sftp/sftp_client.c
index c17749b6cf..e2ce1c253f 100644
--- a/src/sftp/sftp_client.c
+++ b/src/sftp/sftp_client.c
@@ -8,6 +8,9 @@
 void
 sftpc_finish(sftpc_state_t state)
 {
+	assert(state);
+	if (state == NULL)
+		return;
 	assert(state->thread == pthread_self());
 	// TODO: Close all open handles
 	while (!CloseEvent(state->recv_event)) {
@@ -25,7 +28,7 @@ sftpc_finish(sftpc_state_t state)
 sftpc_state_t
 sftpc_begin(bool (*send_cb)(uint8_t *buf, size_t len, void *cb_data), void *cb_data)
 {
-	sftpc_state_t ret = (sftpc_state_t)malloc(sizeof(sftpc_state_t));
+	sftpc_state_t ret = (sftpc_state_t)malloc(sizeof(struct sftp_client_state));
 	if (ret == NULL)
 		return NULL;
 	ret->recv_event = CreateEvent(NULL, TRUE, FALSE, "sftp_recv");
-- 
GitLab