… | |
… | |
199 | ret = NEWSV (0, usize); |
199 | ret = NEWSV (0, usize); |
200 | SvPOK_only (ret); |
200 | SvPOK_only (ret); |
201 | dst = SvPVX (ret); |
201 | dst = SvPVX (ret); |
202 | |
202 | |
203 | if (lzf_decompress (src, csize, dst, usize) != usize) |
203 | if (lzf_decompress (src, csize, dst, usize) != usize) |
|
|
204 | { |
|
|
205 | SvREFCNT_dec (ret); |
204 | croak ("compressed data corrupted (size mismatch)", csize, skip, usize); |
206 | croak ("compressed data corrupted (size mismatch)", csize, skip, usize); |
|
|
207 | } |
205 | } |
208 | } |
206 | else |
209 | else |
207 | { |
210 | { |
208 | usize = csize - 1; |
211 | usize = csize - 1; |
209 | ret = NEWSV (0, usize | 1); |
212 | ret = NEWSV (0, usize | 1); |