diff --git a/libsepol/src/policydb.c b/libsepol/src/policydb.c index 5e8b4a3fed..51fbd7c80c 100644 --- a/libsepol/src/policydb.c +++ b/libsepol/src/policydb.c @@ -2921,6 +2921,8 @@ static int ocontext_read_xen(const struct policydb_compat_info *info, if (rc < 0) return -1; c->sid[0] = le32_to_cpu(buf[0]); + if (is_saturated(c->sid[0])) + return -1; if (context_read_and_validate (&c->context[0], p, fp)) return -1; @@ -3032,6 +3034,8 @@ static int ocontext_read_selinux(const struct policydb_compat_info *info, if (rc < 0) return -1; c->sid[0] = le32_to_cpu(buf[0]); + if (is_saturated(c->sid[0])) + return -1; if (context_read_and_validate (&c->context[0], p, fp)) return -1;