aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2012-10-08 19:56:46 +0200
committerAndreas Schneider <asn@cryptomilk.org>2012-10-09 11:09:34 +0200
commit21db70888a5835c2ec82528ea7ba85dc446bd97d (patch)
tree7bf1ea6049da276197d43f131f17036ad8192335 /src
parentbb2848de5ae649e12e8205e99992ff81087d583e (diff)
downloadlibssh-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.c5
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),