diff --git a/src/sftp/sftp_client.c b/src/sftp/sftp_client.c index c17749b6cf2530668f706486270cf186ad1e8322..e2ce1c253faab4b239febe5acf94f0df9265a27f 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");