jffs2: Prevent rtime decompress memory corruption
commit fe051552f5 upstream.
The rtime decompression routine does not fully check bounds during the
entirety of the decompression pass and can corrupt memory outside the
decompression buffer if the compressed data is corrupted. This adds the
required check to prevent this failure mode.
Cc: stable@vger.kernel.org
Signed-off-by: Kinsey Moore <kinsey.moore@oarcorp.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
dbedf8ddde
commit
f6fc251bae
@@ -95,6 +95,9 @@ static int jffs2_rtime_decompress(unsigned char *data_in,
|
||||
|
||||
positions[value]=outpos;
|
||||
if (repeat) {
|
||||
if ((outpos + repeat) >= destlen) {
|
||||
return 1;
|
||||
}
|
||||
if (backoffs + repeat >= outpos) {
|
||||
while(repeat) {
|
||||
cpage_out[outpos++] = cpage_out[backoffs++];
|
||||
|
||||
Reference in New Issue
Block a user