libsepol/src/roles.c contains functions which do not match its header file libsepol/include/sepol/roles.h: // In roles.c int sepol_role_exists(sepol_handle_t * handle __attribute__ ((unused)), sepol_policydb_t * p, const char *role, int *response) // In roles.h extern int sepol_role_exists(const sepol_policydb_t * policydb, const char *role, int *response); and: // In roles.c int sepol_role_list(sepol_handle_t * handle, sepol_policydb_t * p, char ***roles, unsigned int *nroles) // In roles.h extern int sepol_role_list(const sepol_policydb_t * policydb, char ***roles, unsigned int *nroles); Instead of fixing the parameter type (using sepol_handle_t or sepol_policydb_t but not different ones), remove these functions, as they appear not to be used. They are not exported in libsepol.so. Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> --- libsepol/include/sepol/roles.h | 18 ------------ libsepol/src/roles.c | 53 ---------------------------------- 2 files changed, 71 deletions(-) delete mode 100644 libsepol/include/sepol/roles.h delete mode 100644 libsepol/src/roles.c diff --git a/libsepol/include/sepol/roles.h b/libsepol/include/sepol/roles.h deleted file mode 100644 index e750078c8dab..000000000000 --- a/libsepol/include/sepol/roles.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _SEPOL_ROLES_H_ -#define _SEPOL_ROLES_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -extern int sepol_role_exists(const sepol_policydb_t * policydb, - const char *role, int *response); - -extern int sepol_role_list(const sepol_policydb_t * policydb, - char ***roles, unsigned int *nroles); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsepol/src/roles.c b/libsepol/src/roles.c deleted file mode 100644 index 4540cee80e19..000000000000 --- a/libsepol/src/roles.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <stdlib.h> -#include <string.h> - -#include <sepol/policydb/hashtab.h> -#include <sepol/policydb/policydb.h> - -#include "debug.h" -#include "handle.h" - -/* Check if a role exists */ -int sepol_role_exists(sepol_handle_t * handle __attribute__ ((unused)), - sepol_policydb_t * p, const char *role, int *response) -{ - - policydb_t *policydb = &p->p; - *response = (hashtab_search(policydb->p_roles.table, role) != NULL); - - return STATUS_SUCCESS; -} - -/* Fill an array with all valid roles */ -int sepol_role_list(sepol_handle_t * handle, - sepol_policydb_t * p, char ***roles, unsigned int *nroles) -{ - - policydb_t *policydb = &p->p; - unsigned int tmp_nroles = policydb->p_roles.nprim; - char **tmp_roles = (char **)malloc(tmp_nroles * sizeof(char *)); - char **ptr; - unsigned int i; - if (!tmp_roles) - goto omem; - - for (i = 0; i < tmp_nroles; i++) { - tmp_roles[i] = strdup(policydb->p_role_val_to_name[i]); - if (!tmp_roles[i]) - goto omem; - } - - *nroles = tmp_nroles; - *roles = tmp_roles; - - return STATUS_SUCCESS; - - omem: - ERR(handle, "out of memory, could not list roles"); - - ptr = tmp_roles; - while (ptr && *ptr) - free(*ptr++); - free(tmp_roles); - return STATUS_ERR; -} -- 2.30.0