]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add FreeBSD DoS patch.
authorUlrich Drepper <drepper@redhat.com>
Wed, 20 May 1998 12:11:11 +0000 (12:11 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 20 May 1998 12:11:11 +0000 (12:11 +0000)
sunrpc/svc_tcp.c
sunrpc/xdr_rec.c

index 278e16fc33aa6d009bc647218aca5150ac1396e3..627841fff8a337fbd12b24892c7e1107855b3741 100644 (file)
@@ -378,6 +378,7 @@ svctcp_recv(xprt, msg)
                cd->x_id = msg->rm_xid;
                return (TRUE);
        }
+       cd->strm_stat = XPRT_DIED;      /* XXXX */
        return (FALSE);
 }
 
index 6b33208d76a9df29d8e58acc8da23c271ee7d3d3..b7d5388d2242bdfa3581b9490fc09c7995d42b16 100644 (file)
@@ -548,6 +548,12 @@ set_input_fragment(rstrm)
                return FALSE;
        header = ntohl(header);
        rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE;
+       /*
+        * Sanity check. Try not to accept wildly incorrect
+        * record sizes.
+        */
+       if ((header & (~LAST_FRAG)) > rstrm->recvsize)
+         return(FALSE);
        rstrm->fbtbc = header & ~LAST_FRAG;
        return TRUE;
 }