repair incorrect IP_OPTIONS parsing
authorderaadt <deraadt@openbsd.org>
Wed, 5 Feb 1997 20:57:39 +0000 (20:57 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 5 Feb 1997 20:57:39 +0000 (20:57 +0000)
usr.sbin/sendmail/src/daemon.c

index bd8a914..8f17639 100644 (file)
@@ -1394,10 +1394,10 @@ postident:
                                l -= strlen(p);
 
                                /* o[1] is option length */
-                               j = *++o / sizeof(struct in_addr) - 1;
+                               j = o[1] / sizeof(struct in_addr) - 1;
 
                                /* q skips length and router pointer to data */
-                               q = o + 2;
+                               q = o + 1 + 2;
                                for ( ; j >= 0; j--)
                                {
                                        memcpy(&addr, q, sizeof(addr));
@@ -1412,7 +1412,7 @@ postident:
                                        l -= i + 1;
                                        q += sizeof(struct in_addr); 
                                }
-                               o += *o;
+                               o += o[1];
                                break;
 
                          default: