Messages in this thread Patch in this message | | | From | "Geyslan G. Bem" <> | Subject | [PATCH v2] ia64: bitvector_process could read out of bounds | Date | Wed, 2 Dec 2015 17:00:10 -0300 |
| |
The units[] array could be accessed out of its bounds due the lack of verification of the max vector value.
To make this function not prone to error "P" and "E" suffixes were added. Despite the new suffixes are unrelated to current ia64 vm magnitudes, they make the code ready for it and avoid misleadings.
Caught using static analysis (cppcheck).
Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> --- arch/ia64/kernel/palinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index c39c3cd..bb499102 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c @@ -126,7 +126,7 @@ static const char *mem_attrib[]={ static void bitvector_process(struct seq_file *m, u64 vector) { int i,j; - static const char *units[]={ "", "K", "M", "G", "T" }; + static const char *units[] = { "", "K", "M", "G", "T", "P", "E" }; for (i=0, j=0; i < 64; i++ , j=i/10) { if (vector & 0x1) -- 2.6.2
| |