Correctly detect unknown classes in sepol_string_to_security_class

Bail before running off the end of the class index

Change-Id: I47c4eaac3c7d789f8d85047e34e37e3f0bb38b3a
Signed-off-by: Joshua Brindle <brindle@quarksecurity.com>
This commit is contained in:
Joshua Brindle 2016-06-03 11:17:56 -04:00 committed by Stephen Smalley
parent dae5c271fc
commit 94df3f7d24
1 changed files with 3 additions and 1 deletions

View File

@ -1155,7 +1155,7 @@ int hidden sepol_string_to_security_class(const char *class_name,
char *class = NULL;
sepol_security_class_t id;
for (id = 1;; id++) {
for (id = 1; id <= policydb->p_classes.nprim; id++) {
class = policydb->p_class_val_to_name[id - 1];
if (class == NULL) {
ERR(NULL, "could not convert %s to class id", class_name);
@ -1166,6 +1166,8 @@ int hidden sepol_string_to_security_class(const char *class_name,
return STATUS_SUCCESS;
}
}
ERR(NULL, "unrecognized class %s", class_name);
return -EINVAL;
}
/*