libselinux: drop usage of _D_ALLOC_NAMLEN

_D_ALLOC_NAMLEN is not very portable. Currently, the code
mallocs based on _D_ALLOC_NAMLEN() and then strcpy's dirent
d_name into the buffer. Instead, just use strdup.

Change-Id: I5c8ca47da2c593ea2726caba5781f5e9d9d910ae
Signed-off-by: William Roberts <william.c.roberts@intel.com>
This commit is contained in:
William Roberts 2016-09-23 11:02:53 -07:00 committed by Stephen Smalley
parent 42be018d2e
commit d88597798f

View File

@ -63,12 +63,11 @@ int security_get_boolean_names(char ***names, int *len)
}
for (i = 0; i < *len; i++) {
n[i] = (char *)malloc(_D_ALLOC_NAMLEN(namelist[i]));
n[i] = strdup(namelist[i]->d_name);
if (!n[i]) {
rc = -1;
goto bad_freen;
}
strcpy(n[i], namelist[i]->d_name);
}
rc = 0;
*names = n;