mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
apparmor: add consistency check between state and dfa diff encode flags
Check that a states diff encode flag is only set if diff encode is enabled in the dfa header. Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
parent
c659696964
commit
dae6029325
@ -206,6 +206,12 @@ static int verify_dfa(struct aa_dfa *dfa)
|
||||
pr_err("AppArmor DFA state with invalid match flags");
|
||||
goto out;
|
||||
}
|
||||
if ((BASE_TABLE(dfa)[i] & MATCH_FLAG_DIFF_ENCODE)) {
|
||||
if (!(dfa->flags & YYTH_FLAG_DIFF_ENCODE)) {
|
||||
pr_err("AppArmor DFA diff encoded transition state without header flag");
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
if (base_idx(BASE_TABLE(dfa)[i]) + 255 >= trans_count) {
|
||||
pr_err("AppArmor DFA next/check upper bounds error\n");
|
||||
goto out;
|
||||
|
Loading…
Reference in New Issue
Block a user