diff options
author | Yann Gautier <yann.gautier@st.com> | 2018-06-14 14:36:20 +0200 |
---|---|---|
committer | Yann Gautier <yann.gautier@st.com> | 2018-06-14 14:36:20 +0200 |
commit | 75df62699b9911de0ed0b9b4e95c5d682910cc0e (patch) | |
tree | e5cf462301a64f257198e140466be6c4c406e2cf /lib/stdlib/exit.c | |
parent | ed4cf49020b62fadd994dfa96f74151abb105cf4 (diff) |
xlat_v2: add a check on mm_cursor->size to avoid infinite loop
The issue can occur if end_va is equal to the max architecture address,
and when mm_cursor point to the last entry of mmap_region_t table: {0}.
The first line of the while will then be true, e.g. on AARCH32, we have:
mm_cursor->base_va (=0) + mm_cursor->size (=0) - 1 == end_va (=0xFFFFFFFF)
And the mm_cursor->size = 0 will be lesser than mm->size
A check on mm_cursor->size != 0 should be done as in the previous while,
to avoid such kind of infinite loop.
fixes arm-software/tf-issues#594
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Diffstat (limited to 'lib/stdlib/exit.c')
0 files changed, 0 insertions, 0 deletions