From: Peteris Krumins <peteris@lf.lv>
To: netfilter-devel@lists.netfilter.org
Subject: ip_queue, is this safe:
Date: Fri, 01 Aug 2003 13:50:50 +0300 [thread overview]
Message-ID: <3F2A460A.5050005@lf.lv> (raw)
Hello,
I have written an application which uses ip_queue mechanism to quickly
push (of course only some) packets from kernel space to user space.
(The packets are queued in PREROUTING, mangle)
The application is quite big and i bet i have made several mistakes,
leaving unpleasent buffer overflows and something more.
what i am interested in is if this is safe to write:
---
[...]
struct iphdr *ip;
ip = (struct iphdr *)packet->payload;
if (ip->protocol == IPPROTO_TCP) {
struct tcphdr *tcp;
tcp = (struct tcphdr *)(packet->payload + ip->ihl*4);
[...]
}
[...]
---
i am doubting:
tcp = (struct tcphdr *)(packet->payload + ip->ihl*4);
because ip->ihl could be faked, couldnt it? The packet would get queued
and if ip->ihl is something faked, using the tcp pointer i'd get a
segfault, wouldn't i?
P.Krumins
next reply other threads:[~2003-08-01 10:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-01 10:50 Peteris Krumins [this message]
2003-08-01 15:25 ` ip_queue, is this safe: James Morris
2003-08-02 21:33 ` Re[2]: " Peteris Krumins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3F2A460A.5050005@lf.lv \
--to=peteris@lf.lv \
--cc=netfilter-devel@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.