diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-02-05 11:20:24 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-02-05 15:23:19 +0100 |
commit | 9e40e60bc425670b7d8a16d9c4fea9ee0230f275 (patch) | |
tree | 7706d6f960aa48722a1aac0f1303d1f3da72c25c | |
parent | 8f850585ddff035b8f680bb8fec56e14c2f2f96f (diff) | |
download | libssh-9e40e60bc425670b7d8a16d9c4fea9ee0230f275.tar.gz libssh-9e40e60bc425670b7d8a16d9c4fea9ee0230f275.tar.xz libssh-9e40e60bc425670b7d8a16d9c4fea9ee0230f275.zip |
examples: Check return values of write.
-rw-r--r-- | examples/sshnetcat.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/examples/sshnetcat.c b/examples/sshnetcat.c index 21b9242..cad777b 100644 --- a/examples/sshnetcat.c +++ b/examples/sshnetcat.c @@ -125,8 +125,14 @@ static void select_loop(ssh_session session,ssh_channel channel){ channel_free(channel); channel=channels[0]=NULL; - } else - write(1,buffer,lus); + } else { + ret = write(1, buffer, lus); + if (ret < 0) { + fprintf(stderr, "Error writing to stdin: %s", + strerror(errno)); + return; + } + } } while(channel && channel_is_open(channel) && channel_poll(channel,1)){ /* stderr */ lus=channel_read(channel,buffer,sizeof(buffer),1); @@ -141,7 +147,12 @@ static void select_loop(ssh_session session,ssh_channel channel){ channel_free(channel); channel=channels[0]=NULL; } else - write(2,buffer,lus); + ret = write(2, buffer, lus); + if (ret < 0) { + fprintf(stderr, "Error writing to stderr: %s", + strerror(errno)); + return; + } } } if(channel && channel_is_closed(channel)){ |