[Libvir] [patch 1/5] iptables: fix invalid free
Richard W.M. Jones
rjones at redhat.com
Thu Mar 22 12:03:10 UTC 2007
Daniel Veillard wrote:
> On Wed, Mar 21, 2007 at 01:55:35PM +0000, Mark McLoughlin wrote:
>> - I think the use case is a little different - generally in libvirt,
>> we're only allocating very small chunks where the CPU hit for
>> initialisation would be negligible and would never show up on a
>> profile. I'd prefer to take the minor hit of zero-initialising
>> most/all memory for programming ease.
>>
>> - If our wrappers always zero-initialise, we don't need the
>> "initialise to -1 when debugging" thing.
>>
>> - If we rely on calloc() zero-initialising in our wrappers, we give
>> opportunity for libc to optimise where it knows the memory is
>> already initialised - e.g. where it's mmap()ing the memory
>> from /dev/zero
>
> okay, okay, let's use calloc() for libvirt, but then there is a number of
> places where I probably used memset() for zeroing, they should all be cleaned
> up.
<pedant>
Note that neither calloc nor memset really work on unusual architectures
where null pointers aren't represented by all-bits-zero. So code like:
struct { void *ptr; } *s;
s = malloc (sizeof (*s));
memset (s, 0, sizeof (*s));
/* ... */
if (s->ptr == NULL) { do something }
isn't portable. There's some really strange stuff here about this:
http://www.ex-parrot.com/~chris/random/initialise.html
</pedant>
Rich.
--
Emerging Technologies, Red Hat http://et.redhat.com/~rjones/
64 Baker Street, London, W1U 7DF Mobile: +44 7866 314 421
"[Negative numbers] darken the very whole doctrines of the equations
and make dark of the things which are in their nature excessively
obvious and simple" (Francis Maseres FRS, mathematician, 1759)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20070322/72c19214/attachment-0001.bin>
More information about the libvir-list
mailing list