Prerequisites:
       028_sendmail.patch must have already been applied

Apply by doing:
       cd /usr/src
       patch -p0 < 031_sendmail.patch

And then rebuild, install and restart sendmail:
       cd gnu/usr.sbin/sendmail
       make obj
       make depend
       make
       make install
       kill -HUP `sed 1q /var/run/sendmail.pid`

Index: gnu/usr.sbin/sendmail/sendmail/trace.c
===================================================================
RCS file: /cvs/src/gnu/usr.sbin/sendmail/sendmail/trace.c,v
retrieving revision 1.1.1.1.4.1
diff -u -r1.1.1.1.4.1 trace.c
--- gnu/usr.sbin/sendmail/sendmail/trace.c      2001/05/31 00:31:45     1.1.1.1.4.1
+++ gnu/usr.sbin/sendmail/sendmail/trace.c      2001/08/21 17:18:42
@@ -63,7 +63,7 @@
tTflag(s)
       register char *s;
{
-       int first, last;
+       unsigned int first, last;
       register unsigned int i;

       if (*s == '\0')
@@ -73,16 +73,28 @@
       {
               /* find first flag to set */
               i = 0;
-               while (isascii(*s) && isdigit(*s))
+               while (isascii(*s) && isdigit(*s) && i < tTsize)
                       i = i * 10 + (*s++ - '0');
+
+               /*
+               **  skip over rest of a too large number
+               **  Maybe we should complain if out-of-bounds values are used.
+               */
+
+               while (isascii(*s) && isdigit(*s) && i >= tTsize)
+                       s++;
               first = i;

               /* find last flag to set */
               if (*s == '-')
               {
                       i = 0;
-                       while (isascii(*++s) && isdigit(*s))
+                       while (isascii(*++s) && isdigit(*s) && i < tTsize)
                               i = i * 10 + (*s - '0');
+
+                       /* skip over rest of a too large number */
+                       while (isascii(*s) && isdigit(*s) && i >= tTsize)
+                               s++;
               }
               last = i;