diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-08-21 20:59:25 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-08-21 20:59:25 +0000 |
commit | edc8daeffeef93f2bd705e0dca33539f55b506fb (patch) | |
tree | da8ca9958a4d4707fd9335916a0291cec173a2c4 /target/linux/mcs814x/patches-3.3/003-ethernet.patch | |
parent | 69761e25bebfd5dc61be742c2c046995a9b03849 (diff) | |
download | master-187ad058-edc8daeffeef93f2bd705e0dca33539f55b506fb.tar.gz master-187ad058-edc8daeffeef93f2bd705e0dca33539f55b506fb.tar.bz2 master-187ad058-edc8daeffeef93f2bd705e0dca33539f55b506fb.zip |
kernel: crashlog: Avoid out-of-bounds write
vsnprintf returns the number of chars that would have been written, not
the actual number of chars written. This can lead to crashlog_buf->len
being too big which in turn can lead to get_maxlen() returning negative
numbers. The length argument of kmsg_dump_get_buffer will be casted to
a size_t which makes a negative input a big positive number allowing
kmsg_dump_get_buffer to write out of bounds.
Fix this by using vscnprintf which returns the actually written number
of chars.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37820 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/mcs814x/patches-3.3/003-ethernet.patch')
0 files changed, 0 insertions, 0 deletions