[Libvir] RFC: safer memory allocation APIs with compile time checking
Daniel Veillard
veillard at redhat.com
Mon Apr 28 10:00:05 UTC 2008
On Mon, Apr 28, 2008 at 10:41:46AM +0100, Mark McLoughlin wrote:
> On Mon, 2008-04-28 at 03:39 -0400, Daniel Veillard wrote:
> > The proposal may help clean a lot of things, but VIR_REALLOC I don't
> > understand, what did i missed ?
>
> Looks to me like VIR_REALLOC() would be a rarely used API and Dan just
> had a typo in the above example - it should have used VIR_REALLOC_N()
ah, okay, I'm not the only one :-)
> I'm having difficulty thinking of how VIR_REALLOC() might be interesting
> - e.g. the highly contrived example below.
[...]
> struct bar *get_bar(int i, int j)
> {
> struct bar *bar;
> struct foo *foo;
>
> if (!(foo = get_foo(i)))
> return NULL;
>
> bar = (struct bar *) foo;
>
> if (!VIR_REALLOC(bar)) {
Seems to me it's usable only if you cast and grow to a different kind of
structure. i would rather ban code like this than explicitely allow it ;-)
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list
mailing list