[PATCH] mcstrans: match base classification and word text case-insensitively

Stephen Smalley <[email protected]>
Newsgroups org.kernel.vger.selinux
Message-ID <[email protected]>
The base classification and word regexes are compiled with
PCRE2_CASELESS so a differently cased input matches the regex, but the
extracted substring is then compared against the configured text with
strcmp/strncmp() and fails.

Use strcasecmp()/strncasecmp() so the follow-up lookup is consistent
with the caseless regex.

Signed-off-by: Stephen Smalley <[email protected]>
---
 mcstrans/src/mcstrans.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mcstrans/src/mcstrans.c b/mcstrans/src/mcstrans.c
index 8ed1aa95..89235269 100644
--- a/mcstrans/src/mcstrans.c
+++ b/mcstrans/src/mcstrans.c
@@ -1285,7 +1285,7 @@ static char *compute_raw_from_trans(const char *level, domain_t *domain)
 			  match, strlen(match));
 		base_classification_t *bc;
 		for (bc = domain->base_classifications; bc; bc = bc->next) {
-			if (!strcmp(bc->trans, match)) {
+			if (!strcasecmp(bc->trans, match)) {
 				log_debug(
 					" compute_raw_from_trans base classification %s matched %s\n",
 					level, bc->trans);
@@ -1443,7 +1443,7 @@ static char *compute_raw_from_trans(const char *level, domain_t *domain)
 								int wlen = strlen(
 									w->text);
 								if (plen >= wlen &&
-								    !strncmp(
+								    !strncasecmp(
 									    w->text,
 									    p,
 									    strlen(w->text))) {
-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.