diff mbox series

[RFC,v2,2/4] libsepol: introduce sepol_const_security_context_t typedef

Message ID 20220222135435.31216-2-cgzones@googlemail.com (mailing list archive)
State Accepted
Commit 3ae07ec36fab
Headers show
Series [RFC,v2,1/4] libsepol: add sepol_av_perm_to_string | expand

Commit Message

Christian Göttsche Feb. 22, 2022, 1:54 p.m. UTC
The typedef `sepol_security_context_t` is used for contexts.  For the
read-only input parameter in `sepol_context_to_sid()`
`const sepol_security_context_t` is used as type, which does not expand
to the expected `const char*` but `char *const`.

Introduce a corresponding typedef for `const char*`.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
---
 libsepol/include/sepol/policydb/flask_types.h | 1 +
 libsepol/include/sepol/policydb/services.h    | 2 +-
 libsepol/src/context.c                        | 2 +-
 libsepol/src/services.c                       | 2 +-
 4 files changed, 4 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/libsepol/include/sepol/policydb/flask_types.h b/libsepol/include/sepol/policydb/flask_types.h
index 7bec5129..02c22eac 100644
--- a/libsepol/include/sepol/policydb/flask_types.h
+++ b/libsepol/include/sepol/policydb/flask_types.h
@@ -27,6 +27,7 @@  extern "C" {
  * understanding of the security policy.
  */
 typedef char *sepol_security_context_t;
+typedef const char *sepol_const_security_context_t;
 
 /*
  * An access vector (AV) is a collection of related permissions
diff --git a/libsepol/include/sepol/policydb/services.h b/libsepol/include/sepol/policydb/services.h
index 44de3863..bcb0930f 100644
--- a/libsepol/include/sepol/policydb/services.h
+++ b/libsepol/include/sepol/policydb/services.h
@@ -155,7 +155,7 @@  extern int sepol_sid_to_context(sepol_security_id_t sid,	/* IN */
  * Return a SID associated with the security context that
  * has the string representation specified by `scontext'.
  */
-extern int sepol_context_to_sid(const sepol_security_context_t scontext,	/* IN */
+extern int sepol_context_to_sid(sepol_const_security_context_t scontext,	/* IN */
 				size_t scontext_len,	/* IN */
 				sepol_security_id_t * out_sid);	/* OUT */
 
diff --git a/libsepol/src/context.c b/libsepol/src/context.c
index e81b28c6..5cc90afb 100644
--- a/libsepol/src/context.c
+++ b/libsepol/src/context.c
@@ -22,7 +22,7 @@  int policydb_context_isvalid(const policydb_t * p, const context_struct_t * c)
 int sepol_check_context(const char *context)
 {
 
-	return sepol_context_to_sid((const sepol_security_context_t)context,
+	return sepol_context_to_sid(context,
 				    strlen(context) + 1, NULL);
 }
 
diff --git a/libsepol/src/services.c b/libsepol/src/services.c
index b2fb804e..c3897c91 100644
--- a/libsepol/src/services.c
+++ b/libsepol/src/services.c
@@ -1269,7 +1269,7 @@  int sepol_sid_to_context(sepol_security_id_t sid,
  * Return a SID associated with the security context that
  * has the string representation specified by `scontext'.
  */
-int sepol_context_to_sid(const sepol_security_context_t scontext,
+int sepol_context_to_sid(sepol_const_security_context_t scontext,
 				size_t scontext_len, sepol_security_id_t * sid)
 {