Prechádzať zdrojové kódy

svc.c: svc_getreqset() buffer overflow

http://bugs.busybox.net/show_bug.cgi?id=5588

Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Waldemar Brodkorb 8 rokov pred
rodič
commit
8a783f5440
1 zmenil súbory, kde vykonal 2 pridanie a 0 odobranie
  1. 2 0
      libc/inet/rpc/svc.c

+ 2 - 0
libc/inet/rpc/svc.c

@@ -448,6 +448,8 @@ svc_getreqset (fd_set *readfds)
   register int bit;
 
   setsize = _rpc_dtablesize ();
+  if (setsize > FD_SETSIZE)
+    setsize = FD_SETSIZE;
   maskp = (u_int32_t *) readfds->fds_bits;
   for (sock = 0; sock < setsize; sock += 32)
     for (mask = *maskp++; (bit = ffs (mask)); mask ^= (1 << (bit - 1)))