a1346054
d68bfbde54
use the same style of hashbang for all files
2021-08-21 20:45:30 +00:00
a1346054
8df946943d
fix broken hashbangs
2021-08-21 20:38:29 +00:00
Yann Collet
596c747211
make UNAME externally definable
...
on top of providing a central definition place, which eases maintenance,
it might also help for #1021 .
Also : updated doc
2021-08-16 16:43:17 -07:00
Yann Collet
57ed27f46e
minor documentation for unicode_lint
2021-08-09 05:33:20 -07:00
Nate
424e1d9622
tests(tests/unicode_lint.sh): expand unicode lint to the ./tests/ directory
2021-08-08 15:10:58 -04:00
Nate
7b4692596e
nit(tests/unicode_lint.sh): standardize failure format message
2021-08-08 00:36:06 -04:00
Nate
594ec829e3
tests(unicode_lint.sh): create: lint source files in ./lib/ and ./programs/ for Unicode
2021-08-08 00:34:07 -04:00
Yann Collet
d1d3266bc5
fixed minor type, reported by @mwgamera
2021-08-06 14:45:42 -07:00
Takayuki Matsuoka
3c3624c3a6
Fix g++-4.4 warning
...
g++-4.4 creates the following warning for this line.
```
g++-4.4 -Wno-deprecated -O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror -I../lib -I../programs -DXXH_NAMESPACE=LZ4_ lz4frame.o lz4.o lz4hc.o xxhash.o checkFrame.c -o checkFrame
checkFrame.c: In function ‘int frameCheck(cRess_t, FILE*, unsigned int, size_t)’:
checkFrame.c:156: error: comparison between signed and unsigned integer expressions
```
2021-05-30 16:53:16 +09:00
Yann Collet
59273b7127
fix UB lz4:988 and lz4:1178
...
ensure `dictBase` is only used
when there is an actual dictionary content.
2021-05-28 00:56:26 -07:00
Yann Collet
4b7a327068
fix strange printf formatting warning
...
so now, `%p` _requires_ a `void*` pointer ?
2020-12-01 08:05:19 -08:00
Yann Collet
19564bce78
fix CFLAGS unexport issue
2020-11-30 17:42:36 -08:00
Yann Collet
87a80acbe7
updated license & header dates
2020-11-25 14:45:14 -08:00
Yann Collet
99ba44a596
fixed minor Visual warning
...
doesn't happen on my environment, though it's a different version of Visual Studio
2020-11-14 17:25:31 -08:00
Yann Collet
e0f85f2fc8
better visual conformance
...
only include <intrin.h> on vs2005+ (#947 )
remove some useless #pragma
fix a few minor Visual warnings
2020-11-14 16:27:57 -08:00
Yann Collet
772a312b00
LZ4IO_createDict() doesn't need prefs
2020-11-13 22:16:39 -08:00
Yann Collet
2c4af01e19
proper fullbench's LZ4_calloc()
2020-11-09 10:58:31 -08:00
Yann Collet
a296839802
changed LZ4_calloc() to a 2-arguments signature
...
to remain similar to stdlib's calloc().
Updated test to use c++ compiler for stricter signature check.
2020-11-09 08:44:26 -08:00
Yann Collet
adc46ea4c1
fix fullbench's LZ4_free()
2020-11-09 00:29:52 -08:00
Yann Collet
44b13db532
Merge branch 'dev' into customMem
2020-11-08 23:26:19 -08:00
Yann Collet
52646e8d75
first proposal for LZ4_USER_MEMORY_FUNCTIONS
...
makes it possible to replace at link time
malloc, calloc and free
by user-provided functions
which must be named LZ4_malloc(), LZ4_calloc() and LZ4_free().
answer #937
2020-11-08 21:17:32 -08:00
Yann Collet
ba021f3fa2
Merge pull request #943 from lz4/fullbench_dec
...
Added decompression tests in fullbench
2020-11-08 20:47:55 -08:00
Yann Collet
c76564b944
attempt at silencing cppcheck
2020-11-08 19:48:47 -08:00
Yann Collet
38b77ece91
fullbench: added LZ4F_decompress_noHint()
2020-11-08 13:13:30 -08:00
Yann Collet
af58d2369c
added test for LZ4_decompress_safe_withPrefix64k()
2020-11-08 13:12:27 -08:00
Yann Collet
b16b9fcdbc
added similar tests for LZ4_saveDict()
...
fast (non-HC) variant
2020-11-07 18:24:02 -08:00
Yann Collet
a2222a879f
fix #926
...
fix incorrect behavior of LZ4_saveDictHC()
when invoked right after initialization.
2020-11-07 18:12:26 -08:00
Yann Collet
e968a24129
unified alignment test
...
across lz4.c and lz4hc.c
2020-11-06 14:46:48 -08:00
Yann Collet
ad552101dd
fix minor explicit cast
2020-10-31 01:55:04 -07:00
Yann Collet
4b97866333
reduce new test stack usage
...
use heap instead
2020-10-02 18:03:12 -07:00
Yann Collet
58c0a549ad
fix cppcheck unused variable warning
2020-10-02 14:10:00 -07:00
Yann Collet
de52a52518
added LZ4_streamHC_t init test
...
which includes an alignment test
2020-10-02 13:23:11 -07:00
Yann Collet
056cdd6cc6
define sentinelTest
...
to help scan-build detect the condition
2020-10-01 23:42:42 -07:00
Yann Collet
a88c8fb438
make it possible to select SCANBUILD binary on command line
2020-10-01 23:27:02 -07:00
Yann Collet
1e5ff76b36
add LZ4F_decompress() tests with (NULL,0) input and output
...
fix one (rare & complex) issue discovered by this test
2020-10-01 21:10:08 -07:00
Yann Collet
392809d66e
fix minor static analyzer warnings
...
detected by scan-build and cppcheck
fix #786
2020-09-29 17:09:58 -07:00
Yann Collet
78f4fdbb89
Merge pull request #923 from lz4/fix784
...
fix efficiency of LZ4_compress_HC_destSize()
2020-09-28 14:04:56 -07:00
Yann Collet
ab89dda91d
improved last literals run on LZ4_compress_destSize
...
applying new more accurate formula from LZ4_compress_HC_destSize()
also : fix some minor display issue in tests/frametest
2020-09-28 11:39:00 -07:00
Yann Collet
89736e4e27
ensure last match not too close to end
...
must respect MFLIMIT distance from oend
2020-09-27 23:59:56 -07:00
Yann Collet
a13c79d56d
fix incorrect counting
...
after truncation of last sequence
2020-09-27 22:47:05 -07:00
Yann Collet
e7fe105ac6
fix efficiency of LZ4_compress_HC_destSize()
...
LZ4_compress_HC_destSize() had a tendency
to discard its last match when this match overflowed specified dstBuffer limit.
The impact is generally moderate,
but occasionally huge,
typically when this last match is very large
(such as compressing a bunch of zeroes).
Issue #784 fixed for both Chain and Opt implementations.
Added a unit test suggested by @remittor checking this topic.
2020-09-27 21:04:40 -07:00
Yann Collet
ee4f37d284
fix compressing into NULL
...
fails properly
bug discovered by oss-fuzz
2020-09-26 11:31:57 -07:00
Yann Collet
4f57219a22
fixed ubsan tests with dynamic library
2020-09-17 16:49:21 -07:00
Yann Collet
10d2e1c694
fixed lz4frame with blocks of size 1
...
properly track history
2020-09-17 14:43:02 -07:00
Yann Collet
cfd1d8f9d0
Merge branch 'usan_null' of github.com:lz4/lz4 into usan_null
2020-09-17 10:32:05 -07:00
Yann Collet
b4a64e0eac
fix ubsan test
...
which now fails with a clear error as intended
(not just print a status and move on).
should be reproduced on travisCI
2020-09-17 10:29:31 -07:00
Yann Collet
da1272979f
fix #847
...
support NULL input
without triggering undefined sanitizer
2020-09-15 14:54:53 -07:00
Yann Collet
4f33a5935b
added test triggering NULL arithmetic with usan
...
described in #847
2020-09-15 13:45:06 -07:00
Yann Collet
8b75d403d8
fixed minor pre-existing printf formatting
...
different signedness
2020-08-27 09:20:01 -07:00
Yann Collet
875308f31f
fixed strict c90 support
2020-08-27 00:38:58 -07:00
Yann Collet
c5d6f8a8be
fix #783
...
LZ4_decompress_safe_partial()
now also supports a scenario where
nb_bytes_to_generate is <= block_decompressed_size
And
nb_bytes_to_read is >= block_compressed_size.
Previously, the only supported scenario was
nb_bytes_to_read == block_compress_size.
Pay attention that,
if nb_bytes_to_read is > block_compressed_size,
then, necessarily, it requires that
nb_bytes_to_generate is <= block_decompress_size.
If both are larger, it will generate corrupted data.
2020-08-27 00:17:57 -07:00
Yann Collet
3e3a006c6f
Merge branch 'dev' into extraInput
2020-08-26 23:20:28 -07:00
Yann Collet
5b3f945310
fix test under non-interactive environment
2020-08-25 14:53:08 -07:00
Yann Collet
224735ea1b
added more tests around --content-size
...
notably in association with `stdin`
2020-08-25 14:42:15 -07:00
Yann Collet
65f081ccaf
use variables for program invocation
2020-08-25 14:25:51 -07:00
Yann Collet
f18dbeb8b5
Merge branch 'dev' into extraInput
2020-08-18 15:34:51 -07:00
Yann Collet
e9cfa49d0d
Clarifies and fix EndMark
...
EndMark, the 4-bytes value indicating the end of frame,
must be `0x00000000`.
Previously, it was just mentioned as a `0-size` block.
But such definition could encompass uncompressed blocks of size 0,
with a header of value `0x80000000`.
But the intention was to also support uncompressed empty blocks.
They could be used as a keep-alive signal.
Note that compressed empty blocks are already supported,
it's just that they have a size 1 instead of 0 (for the `0` token).
Unfortunately, the decoder implementation was also wrong,
and would also interpret a `0x80000000` block header as an endMark.
This issue evaded detection so far simply because
this situation never happens, as LZ4Frame always issues
a clean 0x00000000 value as a endMark.
It also does not flush empty blocks.
This is fixed in this PR.
The decoder can now deal with empty uncompressed blocks,
and do not confuse them with EndMark.
The specification is also clarified.
Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
2020-08-12 17:27:33 -07:00
BellaXlp
ab713923a2
fix issue #783 ( #862 )
...
* fix issue #783
2020-08-12 14:42:10 -07:00
Yann Collet
f9f3fdfb1c
added test decompress-partial with extraneous input bytes
...
fails currently,
for investigation of #783
2020-08-12 14:39:01 -07:00
Yann Collet
b26c140a54
Merge pull request #895 from lz4/hugefast
...
Fix #876
2020-08-10 12:52:32 -07:00
Yann Collet
b01c58000e
add test that breaks --fast
...
with huge values, as expected from #876
Also : added target `check`
2020-08-10 10:54:35 -07:00
W. Felix Handte
9af86f0841
Remove dirty Field From LZ4_stream_t
2020-08-06 16:06:40 -04:00
Yann Collet
8ef649f3a8
Merge pull request #866 from sandyharvie/dev
...
Fix issue #865
2020-07-13 18:09:02 -07:00
Björn Ketelaars
7c57828096
Fix tests on OpenBSD
...
Add condition for OpenBSD, which uses gmake
2020-05-30 07:36:22 +02:00
Christopher Harvie
2a7203c05d
add tests
2020-05-13 23:01:43 -04:00
Filipe Calasans
3f53227b96
Add test scenario test-lz4-multiple-legacy
2020-02-07 17:14:01 -08:00
Bimba Shrestha
dcdb9c73c0
Adding unamestr var
2019-10-07 08:12:42 -07:00
Bimba Shrestha
77e6ff1160
Adding condition for FreeBSD and using gmake
2019-10-04 10:12:22 -07:00
Bimba Shrestha
c0acce96c1
Using instead of gmake (to address the travis failure)
2019-10-04 09:29:58 -07:00
Bimba Shrestha
b2c1fa8c59
Using gmake instead of make
2019-10-04 08:40:46 -07:00
Yann Collet
fdf2ef5809
fixed test error
...
could trigger %0 on exceptional circumstances
due to wrong buffer size parameter.
2019-08-15 13:59:59 +02:00
Yann Collet
e18fbd51c1
silence msan warning when offset==0
2019-08-06 15:35:49 +02:00
Yann Collet
6654c2cd3b
ensure conformance with custom LZ4_DISTANCE_MAX
...
It's now possible to select a custom LZ4_DISTANCE_MAX at compile time,
provided it's <= 65535.
However, in some cases (when compressing in byU16 mode),
the new distance wasn't respected,
as it used to implied that it was necessarily within range.
Added a distance check for this case.
Also : added a new TravisCI test which ensures that
custom LZ4_DISTANCE_MAX compiles correctly
and compresses correctly (relying on `assert()` to find outsized offsets).
2019-07-15 12:11:34 -07:00
Yann Collet
2cacdd2142
fix minor cppcheck warnings
2019-06-30 15:36:32 -07:00
Yann Collet
89e96e55ff
updated frametest
...
so that noisy src decompression
doesn't generate output
nor fails when decompression fails (which is expected).
2019-06-30 14:57:12 -07:00
Yann Collet
4e87942529
frametest: added LZ4F decoder noise test
2019-06-30 13:59:49 -07:00
Yann Collet
3b917ef6e6
travisCI: added ASAN fuzzer tests
...
and fixed minor formatting warnings
2019-06-28 20:55:47 -07:00
Yann Collet
567b4e098b
moved noisy-src decoder test into cBuffer_exact
...
so that it can also catch any potential read out-of-bound in the input buffer
(none reported so far, just a precaution for the future).
2019-06-28 20:23:12 -07:00
Yann Collet
62f59d562b
fuzzer: added test to catch #738
2019-06-28 20:15:43 -07:00
Yann Collet
d82a22b3f1
Merge pull request #718 from lz4/fullbench
...
fullbench: added test scenario LZ4F_decompress_followHint
2019-05-31 15:18:12 -07:00
Yann Collet
33a04fb8bd
fullbench: ensure decompressionFunction and dName are initialized
...
Visual Studio seems to miss that they are necessarily initialized in the switch() { case: }
2019-05-31 13:25:12 -07:00
Yann Collet
99f1721ff5
replaced while(1)
...
by for (;;)
just to please Visual Studio C4127 .
2019-05-31 12:01:33 -07:00
Yann Collet
89c97d5ea6
fullbench: added test scenario LZ4F_decompress_followHint
...
This emulates a streaming scenario,
where the caller follows rigorously the srcSize hints
provided as return value of LZ4F_decompress().
This is useful to show the issue in #714 ,
where data is uselessly copied in a tmp buffer first.
2019-05-30 17:29:51 -07:00
Yann Collet
6c69ae6bd6
added test case for in-place decompression
...
worst case, designed to make the decoder overwrite into input
2019-05-30 16:17:47 -07:00
Yann Collet
b2ba857a4f
fuzzer: changed internal buffer size
...
to ensure no overflow during unit tests
2019-05-29 13:33:55 -07:00
Yann Collet
45eba5b030
one more conversion warning
2019-05-29 13:17:45 -07:00
Yann Collet
76116495bf
some more minor conversion warnings fixes
2019-05-29 13:14:52 -07:00
Yann Collet
c5bcb4d68b
fixed minor conversion warning
2019-05-29 12:56:27 -07:00
Yann Collet
b17f578a91
added comments and macros for in-place (de)compression
2019-05-29 12:06:13 -07:00
Yann Collet
4fc6b48550
added test case for in-place compression
2019-05-29 11:19:10 -07:00
gabrielstedman
729eef61a1
Handle file not existing case #704
2019-05-26 15:04:45 +01:00
Yann Collet
e2527ad725
updated tests
...
- only play listTest with `make test`, not `make all` which is limited to build
- update `clangtest`, so that it's possible to disable O3 optimization, for faster processing
2019-05-16 16:46:16 -07:00
gstedman
81081f9b2d
List mode improvements.
...
Improve formatting
Include static assert
Use UTIL_fseek to handle potential fseek limitation
Be explicit when refusing to read from stdin
Properly free dctx after use
Include valgrind tests
2019-05-16 20:53:29 +01:00
gstedman
98a86c8ef6
Add multiframe report to --list command
2019-05-15 21:13:19 +01:00
Dmitry V. Levin
0d3f85df65
test-amalgamation: split the rule
...
Change test-amalgamation to follow each-rule-makes-a-single-target idiom.
Fixes: a7e8d394
("[amalgamation] add test")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
8069d2ae6f
test-amalgamation: fix compilation options
...
Use the same compilation options to compile lz4_all.c and other object files.
Fixes: a7e8d394
("[amalgamation] add test")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
10726d4c56
test-amalgamation: use a single cat command
...
Use the list of prerequisites instead of listing those files manually,
this way they will never fall out of sync.
Also update the amalgamation example to use a single cat command.
Fixes: a7e8d394
("[amalgamation] add test")
Fixes: b192c86b
("[amalgamation] lz4frame.c")
2019-04-23 21:18:11 +00:00
Dmitry V. Levin
7937e86255
test-amalgamation: fix the list of prerequisites
...
Add $(LZ4DIR)/lz4frame.c to the list of prerequisites as the rule uses
that file.
Fixes: b192c86b
("[amalgamation] lz4frame.c")
2019-04-23 21:18:11 +00:00
JPeterMugaas
7136489d33
More build imrpvements
...
Moved a few other tests to Makefiles.inc. Other things might need to go there.
Made a test for symlink appropriateness. Windows can NOT handle them the same way Unix-like operating systems do (if at all). This is mostly the same as the Visual C projects.
embed version info into .dll and .exes that are redistributed.
2019-04-23 07:44:00 -04:00
Yann Collet
291b3d8b7e
Merge pull request #691 from lz4/list
...
--list
2019-04-22 17:43:01 -07:00