From 7c79959e9402fc11cbfe74b7574e103d34602f6b Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 5 May 2015 10:29:38 +0200 Subject: [PATCH] example: Check return value of ssh_get_fd() CID: #1199454 Signed-off-by: Andreas Schneider --- examples/sample.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/examples/sample.c b/examples/sample.c index 616372cb..b716a1b0 100644 --- a/examples/sample.c +++ b/examples/sample.c @@ -298,13 +298,22 @@ static void select_loop(ssh_session session,ssh_channel channel){ int ret; while(channel){ do{ + int fd; + FD_ZERO(&fds); if(!eof) FD_SET(0,&fds); timeout.tv_sec=30; timeout.tv_usec=0; - FD_SET(ssh_get_fd(session),&fds); - maxfd=ssh_get_fd(session)+1; + + fd = ssh_get_fd(session); + if (fd < 0) { + fprintf(stderr, "Error getting fd\n"); + return; + } + FD_SET(fd, &fds); + maxfd = fd + 1; + channels[0]=channel; // set the first channel we want to read from channels[1]=NULL; ret=ssh_select(channels,outchannels,maxfd,&fds,&timeout);