diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2017-05-02 05:02:41 -0400 | 
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2017-05-02 05:02:41 -0400 | 
| commit | 4d6ca227c768b50b05cf183974b40abe444e9d0c (patch) | |
| tree | bf953d8e895281053548b9967a2c4b58d641df00 /lib/decompress_unlz4.c | |
| parent | 800f3eef8ebc1264e9c135bfa892c8ae41fa4792 (diff) | |
| parent | af22a610bc38508d5ea760507d31be6b6983dfa8 (diff) | |
Merge branch 'for-4.12/asus' into for-linus
Diffstat (limited to 'lib/decompress_unlz4.c')
| -rw-r--r-- | lib/decompress_unlz4.c | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/lib/decompress_unlz4.c b/lib/decompress_unlz4.c index 036fc882cd72..1b0baf3008ea 100644 --- a/lib/decompress_unlz4.c +++ b/lib/decompress_unlz4.c | |||
| @@ -72,7 +72,7 @@ STATIC inline int INIT unlz4(u8 *input, long in_len, | |||
| 72 | error("NULL input pointer and missing fill function"); | 72 | error("NULL input pointer and missing fill function"); | 
| 73 | goto exit_1; | 73 | goto exit_1; | 
| 74 | } else { | 74 | } else { | 
| 75 | inp = large_malloc(lz4_compressbound(uncomp_chunksize)); | 75 | inp = large_malloc(LZ4_compressBound(uncomp_chunksize)); | 
| 76 | if (!inp) { | 76 | if (!inp) { | 
| 77 | error("Could not allocate input buffer"); | 77 | error("Could not allocate input buffer"); | 
| 78 | goto exit_1; | 78 | goto exit_1; | 
| @@ -136,7 +136,7 @@ STATIC inline int INIT unlz4(u8 *input, long in_len, | |||
| 136 | inp += 4; | 136 | inp += 4; | 
| 137 | size -= 4; | 137 | size -= 4; | 
| 138 | } else { | 138 | } else { | 
| 139 | if (chunksize > lz4_compressbound(uncomp_chunksize)) { | 139 | if (chunksize > LZ4_compressBound(uncomp_chunksize)) { | 
| 140 | error("chunk length is longer than allocated"); | 140 | error("chunk length is longer than allocated"); | 
| 141 | goto exit_2; | 141 | goto exit_2; | 
| 142 | } | 142 | } | 
| @@ -152,11 +152,14 @@ STATIC inline int INIT unlz4(u8 *input, long in_len, | |||
| 152 | out_len -= dest_len; | 152 | out_len -= dest_len; | 
| 153 | } else | 153 | } else | 
| 154 | dest_len = out_len; | 154 | dest_len = out_len; | 
| 155 | ret = lz4_decompress(inp, &chunksize, outp, dest_len); | 155 | |
| 156 | ret = LZ4_decompress_fast(inp, outp, dest_len); | ||
| 157 | chunksize = ret; | ||
| 156 | #else | 158 | #else | 
| 157 | dest_len = uncomp_chunksize; | 159 | dest_len = uncomp_chunksize; | 
| 158 | ret = lz4_decompress_unknownoutputsize(inp, chunksize, outp, | 160 | |
| 159 | &dest_len); | 161 | ret = LZ4_decompress_safe(inp, outp, chunksize, dest_len); | 
| 162 | dest_len = ret; | ||
| 160 | #endif | 163 | #endif | 
| 161 | if (ret < 0) { | 164 | if (ret < 0) { | 
| 162 | error("Decoding failed"); | 165 | error("Decoding failed"); | 
