summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1997-02-05 20:57:40 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1997-02-05 20:57:40 +0000
commitd072cb1d72d081c99e69ffb1da4b5cc1f4a6206e (patch)
tree2e7802e3e6e65135cc64d2ce5d3d0c61d37e0ceb /usr.sbin
parent270de99b8b7254cc13f91d3de284d47cfbfb7228 (diff)
repair incorrect IP_OPTIONS parsing
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/sendmail/src/daemon.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/sendmail/src/daemon.c b/usr.sbin/sendmail/src/daemon.c
index bd8a9146de2..8f176392048 100644
--- a/usr.sbin/sendmail/src/daemon.c
+++ b/usr.sbin/sendmail/src/daemon.c
@@ -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: