diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2012-10-08 19:56:46 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2012-10-09 11:09:34 +0200 |
commit | 21db70888a5835c2ec82528ea7ba85dc446bd97d (patch) | |
tree | 7bf1ea6049da276197d43f131f17036ad8192335 /src | |
parent | bb2848de5ae649e12e8205e99992ff81087d583e (diff) | |
download | libssh-21db70888a5835c2ec82528ea7ba85dc446bd97d.tar.gz libssh-21db70888a5835c2ec82528ea7ba85dc446bd97d.tar.xz libssh-21db70888a5835c2ec82528ea7ba85dc446bd97d.zip |
socket: Check return value of buffer function.
Found by Coverity.
Diffstat (limited to 'src')
-rw-r--r-- | src/socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/socket.c b/src/socket.c index 338bda0f..6eab0aa3 100644 --- a/src/socket.c +++ b/src/socket.c @@ -278,7 +278,10 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r } if(r>0){ /* Bufferize the data and then call the callback */ - buffer_add_data(s->in_buffer,buffer,r); + r = buffer_add_data(s->in_buffer,buffer,r); + if (r < 0) { + return -1; + } if(s->callbacks && s->callbacks->data){ r= s->callbacks->data(buffer_get_rest(s->in_buffer), buffer_get_rest_len(s->in_buffer), |