diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/lz4/lz4_decompress.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c index 7a85967060a5..f0f5c5c3de12 100644 --- a/lib/lz4/lz4_decompress.c +++ b/lib/lz4/lz4_decompress.c | |||
| @@ -139,6 +139,9 @@ static int lz4_uncompress(const char *source, char *dest, int osize) | |||
| 139 | /* Error: request to write beyond destination buffer */ | 139 | /* Error: request to write beyond destination buffer */ |
| 140 | if (cpy > oend) | 140 | if (cpy > oend) |
| 141 | goto _output_error; | 141 | goto _output_error; |
| 142 | if ((ref + COPYLENGTH) > oend || | ||
| 143 | (op + COPYLENGTH) > oend) | ||
| 144 | goto _output_error; | ||
| 142 | LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); | 145 | LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); |
| 143 | while (op < cpy) | 146 | while (op < cpy) |
| 144 | *op++ = *ref++; | 147 | *op++ = *ref++; |
