Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Nov 2013 15:13:53 +0000 (UTC)
From:      jb <jb.1234abcd@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   Re: [RFC] how to get the size of a malloc(9) block ?
Message-ID:  <loom.20131128T161159-463@post.gmane.org>
References:  <CA%2BhQ2%2BiNurBQnmH-4-DN9V-krc_R=dbEaznJkxLDOzkJEWpFMg@mail.gmail.com> <loom.20131128T143120-188@post.gmane.org> <20131128140637.GA62346@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
Luigi Rizzo <rizzo <at> iet.unipi.it> writes:

> ... 
> But I don't understand why you find ksize()/malloc_usable_size() dangerous.
> ...

The original crime is commited when *usable size* (an implementation detail)
is exported (leaked) to the caller.
To be blunt, when a caller requests memory of certain size, and its request is
satisfied, then it is not its business to learn details beyond that (and they
should not be offered as well).
The API should be sanitized, in kernel and user space.
Otherwise, all kind of charlatans will try to play hair-raising games with it.
If the caller wants to track the *requested size* programmatically, it is its
business to do it and it can be done very easily.

Some of these guys got it perfectly right:
http://stackoverflow.com/questions/5813078/is-it-possible-to-find-the-memory-allocated-to-the-pointer-without-searching-fo

jb








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?loom.20131128T161159-463>