mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
Fix memory leak in securityselinuxlabeltest.c
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@redhat.com>
This commit is contained in:
parent
67fbf129fc
commit
7a0e744399
@ -94,7 +94,7 @@ testSELinuxLoadFileList(const char *testname,
|
||||
goto cleanup;
|
||||
|
||||
while (!feof(fp)) {
|
||||
char *file, *context, *tmp;
|
||||
char *file = NULL, *context = NULL, *tmp;
|
||||
if (!fgets(line, 1024, fp)) {
|
||||
if (!feof(fp))
|
||||
goto cleanup;
|
||||
@ -123,12 +123,13 @@ testSELinuxLoadFileList(const char *testname,
|
||||
tmp = strchr(context, '\n');
|
||||
if (tmp)
|
||||
*tmp = '\0';
|
||||
} else {
|
||||
context = NULL;
|
||||
}
|
||||
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user