summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2015-02-12 07:29:38 +0300
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2015-02-12 07:29:38 +0300
commit0bf5ac14af97ad36e3c603879210b9d0fd1fae8d (patch)
treef7d86a99b6317aeadcc6449eed1938f09b9a0061
parentexamples/sssh{,d}.scm.in: Handle exit status (diff)
downloadguile-ssh-0bf5ac14af97ad36e3c603879210b9d0fd1fae8d.tar.gz
channel-func.c (guile_ssh_channel_request_send_exit_status): Improve
* ssh/channel-func.c (guile_ssh_channel_request_send_exit_status): Validate exit status.
-rw-r--r--ChangeLog3
-rw-r--r--ssh/channel-func.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f7b591..a3399f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2015-02-12 Artyom Poptsov <poptsov.artyom@gmail.com>
+ * ssh/channel-func.c (guile_ssh_channel_request_send_exit_status):
+ Validate exit status.
+
* examples/ssshd.scm.in (handle-request-exec): Send exit status.
* examples/sssh.scm.in (main): Handle exit status.
* NEWS: Update.
diff --git a/ssh/channel-func.c b/ssh/channel-func.c
index a4bcc3d..98c3354 100644
--- a/ssh/channel-func.c
+++ b/ssh/channel-func.c
@@ -113,6 +113,8 @@ Return value is undefined.\
int res;
GSSH_VALIDATE_OPEN_CHANNEL (channel, SCM_ARG1, FUNC_NAME);
+ SCM_ASSERT (scm_is_unsigned_integer (exit_status, 0, UINT32_MAX),
+ SCM_ARG2, FUNC_NAME);
res = ssh_channel_request_send_exit_status (cd->ssh_channel,
scm_to_uint32 (exit_status));