From: Florian Westphal <fw@strlen.de>
To: Jeremy Sowden <jeremy@azazel.net>
Cc: Florian Westphal <fw@strlen.de>,
Netfilter Devel <netfilter-devel@vger.kernel.org>
Subject: Re: [PATCH ulogd2 2/6] db, IP2BIN: correct `format_ipv6()` output buffer sizes
Date: Wed, 23 Apr 2025 14:51:00 +0200 [thread overview]
Message-ID: <20250423125100.GC7371@breakpoint.cc> (raw)
In-Reply-To: <20250423115153.GA349976@azazel.net>
Jeremy Sowden <jeremy@azazel.net> wrote:
> On 2025-04-23, at 13:22:04 +0200, Florian Westphal wrote:
> > Jeremy Sowden <jeremy@azazel.net> wrote:
> > > `format_ipv6()` formats IPv6 addresses as hex-strings. However, sizing for the
> > > output buffer is not done quite right.
> > >
> > > `format_ipv6()` itself uses the size of `struct in6_addr` to verify that the
> > > buffer size is large enough, and the output buffer for the call in util/db.c is
> > > sized the same way. However, the size that should be used is that of the
> > > `s6_addr` member of `struct in6_addr`, not that of the whole structure.
> >
> > ?
> >
> > In what uinverse is sizeof(struct in6_addr) different from
> > sizeof(((struct in6_addr) {}).s6_addr)?
>
> A POSIX-compliant one? :)
>
> The <netinet/in.h> header shall define the in6_addr structure, which shall include at least the following member:
>
> uint8_t s6_addr[16]
>
> I dare say it's hair-splitting, but it's the size of the `s6_addr` member that
> is significant, not the structure as a whole.
I'd argue that sizeof(struct in6_addr) > 128 bits is a bug...
In any case i've never seen a definition of in6_addr where there is any
member that would cause this.
> > First patch looks good, I'll apply it later today. Still reviewing the
> > rest.
FTR, I applied patches 1 and 3 to uglog2.git.
next prev parent reply other threads:[~2025-04-23 12:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-20 17:20 [PATCH ulogd2 0/6] Add support for logging ARP packets Jeremy Sowden
2025-04-20 17:20 ` [PATCH ulogd2 1/6] IP2STR: correct address buffer size Jeremy Sowden
2025-04-20 17:20 ` [PATCH ulogd2 2/6] db, IP2BIN: correct `format_ipv6()` output buffer sizes Jeremy Sowden
2025-04-23 11:22 ` Florian Westphal
2025-04-23 11:51 ` Jeremy Sowden
2025-04-23 12:51 ` Florian Westphal [this message]
2025-04-20 17:20 ` [PATCH ulogd2 3/6] IP2HBIN, IP2STR: correct typo's Jeremy Sowden
2025-04-20 17:20 ` [PATCH ulogd2 4/6] IP2BIN, IP2HBIN, IP2STR: refactor `interp` call-backs Jeremy Sowden
2025-04-20 17:20 ` [PATCH ulogd2 5/6] Use `NFPROTO_*` constants for protocol families Jeremy Sowden
2025-04-20 17:20 ` [PATCH ulogd2 6/6] Add support for logging ARP packets Jeremy Sowden
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=20250423125100.GC7371@breakpoint.cc \
--to=fw@strlen.de \
--cc=jeremy@azazel.net \
--cc=netfilter-devel@vger.kernel.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.