[libvirt] [PATCH 5/6] Fix memory leak in securityselinuxlabeltest.c
John Ferlan
jferlan at redhat.com
Mon Jan 13 16:38:25 UTC 2014
On 01/13/2014 11:12 AM, Pavel Hrdina wrote:
> Strings "file" and "context" may not be freed if "VIR_EXPAND_N" fails
> and it leads into memory leak.
>
> This has been found by coverity.
>
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
> tests/securityselinuxlabeltest.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/securityselinuxlabeltest.c b/tests/securityselinuxlabeltest.c
> index d1fd92f..08b2997 100644
> --- a/tests/securityselinuxlabeltest.c
> +++ b/tests/securityselinuxlabeltest.c
> @@ -127,8 +127,11 @@ testSELinuxLoadFileList(const char *testname,
> context = NULL;
> }
When 'file' is declared above, you'll need to add a 'file = NULL'...
Probably could do the same for context, thus removing the need for the
context = NULL else condition.
ACK with the adjustments
John
>
> - if (VIR_EXPAND_N(*files, *nfiles, 1) < 0)
> + if (VIR_EXPAND_N(*files, *nfiles, 1) < 0) {
> + VIR_FREE(file);
> + VIR_FREE(context);
> goto cleanup;
> + }
>
> (*files)[(*nfiles)-1].file = file;
> (*files)[(*nfiles)-1].context = context;
>
More information about the libvir-list
mailing list