]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix use-after-free issues when client disconnects
authorAndreas Öman <andreas@lonelycoder.com>
Sat, 11 Aug 2007 07:21:25 +0000 (07:21 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Sat, 11 Aug 2007 07:21:25 +0000 (07:21 +0000)
output_client.c

index e974c1f795d3d1fa64e15e47a5a15d09abe25d44..1fc29dafa1f1939e4254333ffe60fb7d35126c7e 100644 (file)
@@ -651,8 +651,10 @@ client_data_read(client_t *c)
   int r, cr = 0, i;
   char buf[100];
 
-  if(space < 1)
+  if(space < 1) {
     client_teardown(c, EBADMSG);
+    return;
+  }
 
   r = read(c->c_fd, c->c_input_buf + c->c_input_buf_ptr, space);
   if(r < 0) {
@@ -701,12 +703,13 @@ client_socket_callback(int events, void *opaque, int fd)
 {
   client_t *c = opaque;
 
-  if(events & DISPATCH_ERR)
+  if(events & DISPATCH_ERR) {
     client_teardown(c, ECONNRESET);
+    return;
+  }
 
   if(events & DISPATCH_READ)
     client_data_read(c);
-
 }