libselinux: free empty scandir(3) result
In case scandir(3) finds no entries still free the returned result to avoid leaking it. Also do not override errno in case of a failure. Reported.by: Cppcheck Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Acked-by: James Carter <jwcart2@gmail.com>
This commit is contained in:
parent
9ef1a83563
commit
c8b1f59282
|
@ -53,7 +53,11 @@ int security_get_boolean_names(char ***names, int *len)
|
|||
|
||||
snprintf(path, sizeof path, "%s%s", selinux_mnt, SELINUX_BOOL_DIR);
|
||||
*len = scandir(path, &namelist, &filename_select, alphasort);
|
||||
if (*len <= 0) {
|
||||
if (*len < 0) {
|
||||
return -1;
|
||||
}
|
||||
if (*len == 0) {
|
||||
free(namelist);
|
||||
errno = ENOENT;
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue