Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87v9ra7f42.fsf@mid.deneb.enyo.de>
Date: Sat, 23 Nov 2019 17:05:17 +0100
From: Florian Weimer <fw@...eb.enyo.de>
To: gilles@...lp.org
Cc: musl@...ts.openwall.com
Subject: Re: freeaddrinfo() comments and questions

* gilles:

> In these other implementations, it is possible to write a custom
> struct addrinfo allocator and use freeaddrinfo() on it, just like it
> is possible to use getaddrinfo() and use a custom release function on
> it. This is not a very common use-case, granted, but it is one
> nonetheless, and one that works and has worked in a portable way for a
> long time across a wide variety of systems.

I think this is clearly undefined.  There is no way to know how
storage for ai_addr and ai_canonname is managed.  These pointers could
point to separate allocations, made with malloc.  They could be
interior pointers to the same top-level allocation at which start the
struct addrinfo object is allocated.  Nothing even needs to use
malloc, including the outer struct addrinfo object.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.