From bc1acb53120c8ba886f62530ee814e0aec094b5c Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 2 Feb 2024 14:44:58 +0100 Subject: [PATCH] channels: Make exit_status and uint32_t This is what we get in the packet and is defined in RFC4254. Signed-off-by: Andreas Schneider Reviewed-by: Jakub Jelen --- include/libssh/channels.h | 2 +- src/channels.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/libssh/channels.h b/include/libssh/channels.h index cb2bea43..d80e0dd6 100644 --- a/include/libssh/channels.h +++ b/include/libssh/channels.h @@ -80,7 +80,7 @@ struct ssh_channel_struct { ssh_buffer stdout_buffer; ssh_buffer stderr_buffer; void *userarg; - int exit_status; + uint32_t exit_status; enum ssh_channel_request_state_e request_state; struct ssh_list *callbacks; /* list of ssh_channel_callbacks */ diff --git a/src/channels.c b/src/channels.c index 27ec7c5f..06dad5df 100644 --- a/src/channels.c +++ b/src/channels.c @@ -122,7 +122,7 @@ ssh_channel ssh_channel_new(ssh_session session) } channel->session = session; - channel->exit_status = -1; + channel->exit_status = (uint32_t)-1; channel->flags = SSH_CHANNEL_FLAG_NOT_BOUND; if (session->channels == NULL) { @@ -3360,7 +3360,7 @@ ssh_session ssh_channel_get_session(ssh_channel channel) static int ssh_channel_exit_status_termination(void *c) { ssh_channel channel = c; - if (channel->exit_status != -1 || + if (channel->exit_status != (uint32_t)-1 || /* When a channel is closed, no exit status message can * come anymore */ (channel->flags & SSH_CHANNEL_FLAG_CLOSED_REMOTE) ||