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