Lasse Collin
c99037ea10
Fix a memory leak by calling free(extra->data) in
...
lzma_extra_free().
2008-04-24 20:25:39 +03:00
Lasse Collin
22ba3b0b50
Make unlzma and lzcat symlinks.
2008-04-24 20:23:05 +03:00
Lasse Collin
17c36422d4
Fixed a bug in command line option parsing.
2008-04-24 20:20:27 +03:00
Lasse Collin
283f939974
Added two assert()s.
2008-04-24 20:19:20 +03:00
Lasse Collin
eb348a60b6
Switch to uint16_t as the type of range coder probabilities.
2008-04-24 19:22:53 +03:00
Lasse Collin
6c5306e312
Fix wrong return type (uint32_t -> bool).
2008-04-24 18:39:57 +03:00
Lasse Collin
712cfe3ebf
Fix data corruption in LZ encoder with LZMA_SYNC_FLUSH.
2008-04-24 18:38:00 +03:00
Lasse Collin
bc04486e36
Fix fastpos problem in Makefile.am when built with --enable-small.
2008-04-24 17:33:01 +03:00
Lasse Collin
7ab493924e
Use 64-bit integer as range encoder's cache size. This fixes a
...
theoretical data corruption, which should be very hard to trigger
even intentionally.
2008-04-24 17:30:51 +03:00
Lasse Collin
641998c3e1
Replaced the range decoder optimization that used arithmetic
...
right shift with as fast version that doesn't need
arithmetic right shift. Removed the related check from
configure.ac.
2008-03-24 16:38:40 +02:00
Lasse Collin
ad999efd27
Take advantage of arithmetic right shift in range decoder.
2008-03-22 14:39:34 +02:00
Lasse Collin
03e0e8a0d7
Added autoconf check to detect if we can use arithmetic
...
right shift for optimizations.
2008-03-22 14:18:29 +02:00
Lasse Collin
7521bbdc83
Update a comment to use the variable name rep_len_decoder.
...
(And BTW, the previous commit actually did change the
program logic slightly.)
2008-03-22 01:26:36 +02:00
Lasse Collin
63b74d000e
Demystified the "state" variable in LZMA code. Use the
...
word literal instead of char for better consistency.
There are still some names with _char instead of _literal
in lzma_optimum, these may be changed later.
Renamed length coder variables.
This commit doesn't change the program logic.
2008-03-22 00:57:33 +02:00
Lasse Collin
e6eb0a2675
Fix data corruption in LZMA encoder. Note that this bug was
...
specific to liblzma and was *not* present in LZMA SDK.
2008-03-14 23:16:11 +02:00
Lasse Collin
7d516f5129
Fix a comment API header.
2008-03-14 21:32:37 +02:00
Lasse Collin
748d6e4274
Make lzma_stream.next_in const. Let's see if anyone complains.
2008-03-12 23:14:50 +02:00
Lasse Collin
bfde3b24a5
Apply a minor speed optimization to LZMA decoder.
2008-03-11 15:35:34 +02:00
Lasse Collin
f310c50286
Initialize the last byte of the dictionary to zero so that
...
lz_get_byte(lz, 0) returns zero. This was broken by
1a3b218598
.
2008-03-11 15:17:16 +02:00
Lasse Collin
5ead36cf7f
Really fix the price count initialization.
2008-03-10 15:57:55 +02:00
Lasse Collin
d4d7feb83d
Updated THANKS.
2008-03-10 13:47:17 +02:00
Lasse Collin
0541c5ea63
Initialize align_price_count and match_price_count in
...
lzma_encoder_init.c. While we don't call
fill_distances_prices() and fill_align_prices() in
lzma_lzma_encoder_init(), we still need to initialize
these two variables so that the fill functions get
called in lzma_encoder_getoptimum.c in the beginning
of a stream.
2008-03-10 13:46:48 +02:00
Lasse Collin
596fa1fac7
Always initialize lz->temp_size in lz_decoder.c. temp_size did
...
get initialized as a side-effect after allocating a new decoder,
but not when the decoder was reused.
2008-03-10 13:44:29 +02:00
Lasse Collin
45e43e1695
Don't fill allocated memory with 0xFD when debugging is
...
enabled. It hides errors from Valgrind.
2008-03-10 13:41:25 +02:00
Lasse Collin
c0e19e0662
Remove two redundant validity checks from the LZMA decoder.
...
These are already checked elsewhere, so omitting these
gives (very) tiny speed up.
2008-02-28 10:24:31 +02:00
Lasse Collin
de74858062
Tiny clean up to file-format.txt.
2008-02-06 13:25:32 +02:00
Lasse Collin
1a3b218598
Don't memzero() the history buffer when initializing LZ
...
decoder. There's no danger of information leak here, so
it isn't required. Doing memzero() takes a lot of time
with large dictionaries, which could make it easier to
construct DoS attack to consume too much CPU time.
2008-02-02 14:51:06 +02:00
Lasse Collin
7e796e312b
Do uncompressed size validation in raw encoder. This way
...
it gets done for not only raw encoder, but also Block
and LZMA_Alone encoders.
2008-02-01 08:39:26 +02:00
Lasse Collin
7dd48578a3
Avoid unneeded function call in raw_common.c.
2008-02-01 08:32:05 +02:00
Lasse Collin
b596fac963
Updated THANKS.
2008-01-26 21:42:38 +02:00
Lasse Collin
e9f6e9c075
Added note.GNU-stack to x86 assembler files. It is needed
...
when using non-executable stack.
2008-01-26 21:40:23 +02:00
Lasse Collin
4c7ad179c7
Added api/lzma/easy.h. I had forgot to add this to the
...
git repo. Thanks to Stephan Kulow.
2008-01-26 19:12:50 +02:00
Lasse Collin
288b232f54
Added more test files.
2008-01-26 11:09:17 +02:00
Lasse Collin
c467b0defc
Added more test files.
2008-01-26 10:47:55 +02:00
Lasse Collin
f9842f7127
Return LZMA_HEADER_ERROR if LZMA_SYNC_FLUSH is used with any
...
of the so called simple filters. If there is demand, limited
support for LZMA_SYNC_FLUSH may be added in future.
After this commit, using LZMA_SYNC_FLUSH shouldn't cause
undefined behavior in any situation.
2008-01-26 00:25:34 +02:00
Lasse Collin
e988ea1d1a
Added more Multi-Block test files. Improved some
...
descriptions in the test files' README.
2008-01-25 23:50:35 +02:00
Lasse Collin
4441e00418
Combine lzma_options_block validation needed by both Block
...
encoder and decoder, and put the shared things to
block_private.h. Improved the checks a little so that
they may detect too big Compressed Size at initialization
time if lzma_options_block.total_size or .total_limit is
known.
Allow encoding and decoding Blocks with combinations of
fields that are not allowed by the file format specification.
Doing this requires that the application passes such a
combination in lzma_options_lzma; liblzma doesn't do that,
but it's not impossible that someone could find them useful
in some custom file format.
2008-01-25 23:12:36 +02:00
Lasse Collin
bf4200c818
Added test_memlimit.c.
2008-01-25 19:21:22 +02:00
Lasse Collin
7b8fc7e6b5
Improved the memory limitter:
...
- Added lzma_memlimit_max() and lzma_memlimit_reached()
API functions.
- Added simple estimation of malloc()'s memory usage
overhead.
- Fixed integer overflow detection in lzma_memlimit_alloc().
- Made some white space cleanups and added more comments.
The description of lzma_memlimit_max() in memlimit.h is bad
and should be improved.
2008-01-25 19:20:28 +02:00
Lasse Collin
e0c3d0043d
Use more parenthesis in succeed() macro in tests/tests.h.
2008-01-25 13:55:52 +02:00
Lasse Collin
1fd76d4881
Added more Multi-Block Stream test files.
2008-01-24 14:49:34 +02:00
Lasse Collin
6e27b1098a
Added bunch of test files containing Multi-Block Streams.
2008-01-24 00:46:05 +02:00
Lasse Collin
db9df0a960
Fix decoding of empty Metadata Blocks, that don't have
...
even the Metadata Flags field. Earlier the code allowed
such files; now they are prohibited as the file format
specification requires.
2008-01-23 23:43:00 +02:00
Lasse Collin
765f0b05f6
Fix a bug related to 99e12af4e2
.
...
lzma_metadata.header_metadata_size was not properly set to
zero if the Metadata had only the Metadata Flags field.
2008-01-23 23:38:18 +02:00
Lasse Collin
3a7cc5c3de
Fix decoding of Extra Records that have empty Data.
2008-01-23 23:35:49 +02:00
Lasse Collin
e5fdec93e2
Add the trailing '\0' to lzma_extra.data as the API header
...
already documents.
2008-01-23 22:02:38 +02:00
Lasse Collin
ed40dc5a2c
Added debug/full_flush.c.
2008-01-23 21:21:21 +02:00
Lasse Collin
ae0cd09a66
Return LZMA_STREAM_END instead of LZMA_OK if
...
LZMA_SYNC_FLUSH or LZMA_FULL_FLUSH is used when
there's no unfinished Block open.
2008-01-23 21:05:33 +02:00
Lasse Collin
0e80ded13d
Added bad-single-none-footer_filter_flags.lzma and
...
bad-single-none-too_long_vli.lzma.
2008-01-23 20:05:01 +02:00
Lasse Collin
8c8eb14055
Fixed a typo.
2008-01-23 13:42:35 +02:00