[Libguestfs] [PATCH 2/2] virt-format: fix possible memory leak

Wanlong Gao wanlong.gao at gmail.com
Tue Jan 31 14:31:37 UTC 2012


On 01/31/2012 09:53 PM, Richard W.M. Jones wrote:

> On Tue, Jan 31, 2012 at 09:39:17PM +0800, Wanlong Gao wrote:
>> On 01/31/2012 09:30 PM, Richard W.M. Jones wrote:
>>
>>> On Tue, Jan 31, 2012 at 06:19:32PM +0800, Wanlong Gao wrote:
>>>> The strdup/strndup() introduces malloc() to allocate memory,
>>>> so we need to free them carefully.
>>>
>>> I'm not sure this patch is necessary.
>>>
>>> We already check for memory leaks in many utilities (in 'make
>>> extra-tests'), but we only do it for the success case.  If the utility
>>> fails, it's better that it just exits as soon as possible, even if it
>>> doesn't free all memory along the way.
>>
>>
>> But I wonder that if fail, where will the allocated memory go? not a leak?
> 
> The operating system recovers memory from all processes that call
> _exit(2).  There is no need to free any of it.
> 
> But we do want to know if the library is leaking memory, which would
> be a problem for people using libguestfs, which is why we perform leak
> tests in the non-failure case.


Yes, I see, only shared memory and temp files exist after the process' lifetime.
thanks for you explanation Rich.

-Wanlong Gao

> 
> [...]
>> make extra-tests can test virt-format, too, it seems not?
> 
> It's tested:
> 
>   Makefile.am:	$(RUN_VG) ../../format/virt-format -a test1.img >/dev/null
> 
> Rich.
> 





More information about the Libguestfs mailing list