[libvirt] [PATCHv5 01/19] util: string: Add helper to free non-NULL terminated string arrays
Eric Blake
eblake at redhat.com
Fri Jun 20 16:29:21 UTC 2014
On 06/20/2014 01:59 AM, Peter Krempa wrote:
> On 06/20/14 00:41, Eric Blake wrote:
>> On 06/19/2014 07:59 AM, Peter Krempa wrote:
>>> Sometimes the length of the string list is known but the array isn't
>>> NULL terminated. Add helper to free the array in such cases.
>>> ---
>>> src/libvirt_private.syms | 1 +
>>> src/util/virstring.c | 20 ++++++++++++++++++++
>>> src/util/virstring.h | 1 +
>>> 3 files changed, 22 insertions(+)
>>
>> I'm still not fully convinced we needed this (if you ALWAYS
>> over-allocate the array large enough for a NULL terminator, including in
>
> Well I'm using it to free a string list that had the individual string
> elements stolen from it, where the regular freeing function would finish
> possibly on the first element as it might be already NULL and stolen.
Ah, _that_ explains it. Put this reason in your commit message, and
then I'm fine giving ACK.
>
> Hmm testing a freeing function that frees the entire array? Not sure how
> I'd approach it. Also is it really worth?
Create an array of { "mallocd", NULL, "mallocd", NULL }, then free it.
If the test doesn't crash, and if valgrind doesn't report leaks or
double-free, then it was worth the test.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140620/6d65c9ed/attachment-0001.sig>
More information about the libvir-list
mailing list