vt: Fix a read-past-array in vc_t416_color().
authorAdam Borowski <kilobyte@angband.pl>
Thu, 15 Sep 2016 14:47:09 +0000 (16:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Sep 2016 09:41:54 +0000 (11:41 +0200)
commit669e0a51b1b50052b1615683cde64e1c28ae895f
tree63c34a3da13db5cb27ae308aa462d8a1275f1464
parentd2ec3f77de8e67b7a3dab3ec827467e0fd797c86
vt: Fix a read-past-array in vc_t416_color().

This makes it show up on UBSAN:
perl -e 'for (0..15) {my @x=("0")x$_;push @x,qw(38 2 64 128 192 4);printf
"\e[%smAfter %d zeroes.\e[0m\n", join(";",@x[0..($_+5<15?$_+5:15)]), $_}'

Seems harmless: if you can programmatically read attributes of a vt
character (/dev/vcsa*), multiple probes can obtain parts of vt_mode then
lowest byte (5th on 64-bit big-endian) of a pointer.

Signed-off-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/vt.c