summaryrefslogtreecommitdiffstats
path: root/libssh
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-05-02 20:48:59 +0000
committerAndreas Schneider <mail@cynapses.org>2009-05-02 20:48:59 +0000
commita7732ebbe5716042e9736fb2f96b756e50374a49 (patch)
tree87d109e9b26074def3450d2d0c6e4f15f638fd18 /libssh
parent653812149469289b177d39fcbe335fb75d427c31 (diff)
downloadlibssh-a7732ebbe5716042e9736fb2f96b756e50374a49.tar.gz
libssh-a7732ebbe5716042e9736fb2f96b756e50374a49.tar.xz
libssh-a7732ebbe5716042e9736fb2f96b756e50374a49.zip
Improve channel_from_msg().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@676 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh')
-rw-r--r--libssh/channels.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/libssh/channels.c b/libssh/channels.c
index 6470173f..5ab650f1 100644
--- a/libssh/channels.c
+++ b/libssh/channels.c
@@ -284,17 +284,23 @@ error:
return -1;
}
-static CHANNEL *channel_from_msg(SSH_SESSION *session){
- u32 chan;
- CHANNEL *channel;
- if (buffer_get_u32(session->in_buffer,&chan)!=sizeof(u32)){
- ssh_set_error(session,SSH_FATAL,"Getting channel from message : short read");
- return NULL;
- }
- channel=ssh_channel_from_local(session,ntohl(chan));
- if(!channel)
- ssh_set_error(session,SSH_FATAL,"Server specified invalid channel %d",ntohl(chan));
- return channel;
+static CHANNEL *channel_from_msg(SSH_SESSION *session) {
+ CHANNEL *channel;
+ u32 chan;
+
+ if (buffer_get_u32(session->in_buffer, &chan) != sizeof(u32)) {
+ ssh_set_error(session, SSH_FATAL,
+ "Getting channel from message: short read");
+ return NULL;
+ }
+
+ channel = ssh_channel_from_local(session, ntohl(chan));
+ if (channel == NULL) {
+ ssh_set_error(session, SSH_FATAL,
+ "Server specified invalid channel %d", ntohl(chan));
+ }
+
+ return channel;
}
static void channel_rcv_change_window(SSH_SESSION *session){