Commit Graph

961 Commits

Author SHA1 Message Date
a1346054
3e99d07bc0 trim excess whitespace 2021-08-21 22:24:52 +00:00
Zeyi (Rice) Fan
1a2e8f4e30 fix clang-cl _tzcnt_u64 not defined issue 2021-08-09 11:30:02 -07:00
Eddy Jansson
0a0922067f Don't reuse state memory that's too small.
Ensure that the memory block we're trying
to reuse is large enough for the new state.

Fixes #974
2021-07-31 19:05:29 +02:00
Eddy Jansson
80e3e7034e Define LZ4_STREAMSIZE in terms of LZ4_MEMORY_USAGE
This is required to correctly size a static member
to hold the hash table, whose size is derived from
LZ4_MEMORY_USAGE.
2021-07-31 18:59:15 +02:00
Yann Collet
4de56b3da3
Merge pull request #1012 from eloj/print-install-dirs
Print target directories during 'make install'.
2021-07-25 00:44:40 +02:00
Eddy Jansson
eba110ad5b Print target directories during 'make install'.
This takes #975 to its logical conclusion.
2021-07-24 17:20:37 +02:00
Eddy Jansson
c1f514f3db Expand use of pkg-config variables.
Change pkg-config generation such that the path variables,
not their values, are used in the definitions of Libs and Cflags,
and that $prefix is substituted into libdir and includedir iff
they start with its value.

This makes it easier to modify the already installed file if necessary.
2021-07-24 16:05:15 +02:00
TotalJustice
2216d45e04 fix LZ4HC_HEAPMODE macro guard 2021-06-25 15:16:22 +01:00
Gabe Jones
b3d46ae07f Cast ALLOC return value to satisfy C++ 2021-06-15 12:09:14 -05:00
Yann Collet
dfc431fb3d fix NULL ptr arithmetic at lz4:2299 2021-05-28 01:10:41 -07:00
Yann Collet
539c783c98 fix NULL ptr arithmetic in lz4:1680
only do arithmetic if offset > 0
2021-05-28 01:08:18 -07: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
c2c0c47d5f fix NULL ptr arithmetic of lz4:1572
was blindly adding an offset (0) to `dictionary` which could be `NULL`.
2021-05-27 23:20:28 -07:00
Yann Collet
8e46846287 fix UB of lz4frame:907
now line 912
by ensuring pointer arithmetic is only performed
if there is a reason for an internal buffer to be used.
2021-05-27 22:59:22 -07:00
Yann Collet
7a966c1511
Merge pull request #972 from jasperla/memmove_crash
Fix potential memory corruption with negative memmove() size
2021-04-30 08:56:25 -07:00
klebertosantos
29a6a1f494 fix null pointer dereference 2021-03-10 09:37:57 -03:00
Jasper Lievisse Adriaanse
8301a21773 Fix potential memory corruption with negative memmove() size 2021-02-26 15:21:20 +01:00
Yann Collet
a8e888774a
Merge pull request #964 from sigiesec/fix-ubsan-resetStreamHC_fast
Don't trigger UBSan warning in LZ4_resetStreamHC_fast if LZ4_streamHC…
2021-01-19 02:54:18 -08:00
Thomas Waldmann
909aae8260 fix some typos (work by Andrea Gelmini) 2021-01-07 18:39:57 +01:00
Simon Giesecke
06b07e175e Don't trigger UBSan warning in LZ4_resetStreamHC_fast if LZ4_streamHCPtr->internal_donotuse.end is NULL. 2021-01-07 10:21:48 +01:00
Yann Collet
50ff8b3ae8 fix minor header date 2020-11-30 18:16:00 -08:00
Yann Collet
e585a438c7 refactor Makefile
remove usage of include Makefile.inc in too Makefile
as it seems to somehow unexport CFLAGS ...
2020-11-30 16:06:50 -08:00
Yann Collet
87a80acbe7 updated license & header dates 2020-11-25 14:45:14 -08:00
Yann Collet
0760724577 update doc 2020-11-15 01:31:09 -08:00
Yann Collet
f61b034cd7 fix minor win32 warning 2020-11-14 20:39:23 -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
468011c346 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2020-11-14 14:26:48 -08:00
Yann Collet
581c459b4e restrict BitScanForward() to VS2005+
suggested by @aqrit in #947
2020-11-14 14:26:08 -08:00
Yann Collet
b7c6fc9f61 minor refactor of lz4io
for readability.
Mostly around --list capability
2020-11-13 10:57:40 -08:00
Yann Collet
86f5e9d0f4 minor : lz4frame include stdlib only if needed 2020-11-09 21:23:56 -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
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
9cf3f106a8
Merge pull request #944 from lz4/fix874
fix #874
2020-11-08 20:48:20 -08:00
Yann Collet
b8cd01183f
Merge pull request #945 from lz4/fix926
fixed remaining ubsan warnings
2020-11-08 20:47:19 -08:00
Yann Collet
2a2b10f192 fixed remaining ubsan warnings 2020-11-08 18:08:43 -08:00
Yann Collet
2964b8a6f6 fix #874
coverity reported a warning regarding a memcpy() overwrite.
This is a false positive (the memory area is large enough),
but it's true that it's not trivial to determine (encompassing struct),
and it's proper anyway to only memcpy() just the right amount of data.
2020-11-08 13:21:58 -08:00
Yann Collet
be634559e3 update obsolete section documentation
and update manuals.
fix #712
2020-11-08 12:54:59 -08:00
Yann Collet
e251a84025 fix minor UBs
- check alignment before casting a pointer
- saveDict : don't memmove() on NULL dst
2020-11-07 19:42:57 -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
1d02141bf8
Merge pull request #941 from lz4/revertinline
Revert "Replace "static" to "LZ4_FORCE_INLINE" for small functions"
2020-11-07 17:18:04 -08:00
Yann Collet
f61eeb7793 Revert "Replace "static" to "LZ4_FORCE_INLINE" for small functions"
This reverts commit 0e3933edd4.
2020-11-07 11:02:30 -08:00
Yann Collet
d4bfcf8489 fix #935
minor: identical declaration and prototypes of `LZ4HC_compress_optimal()`

also :
very minor optimization of `LZ4_memcpy_using_offset()`
2020-11-07 10:06:52 -08:00
Yann Collet
27959b43ec LZ4F_decompress requires a valid dctx state
This is now explicitly documented and asserted.
fix #927
2020-11-06 20:46:35 -08:00
Yann Collet
b5e2a4acd9
Merge pull request #936 from lz4/alignTest
More alignment tests
2020-11-06 20:27:42 -08:00
Yann Collet
67e661a2ad static state size
for better inter-version compatibility
2020-11-06 18:26:13 -08:00
Yann Collet
211d653ff8 re-enable alignment test on all targets 2020-11-06 16:43:14 -08:00
Yann Collet
0c56f838ed unified internal state declaration
align on `void*` instead : there is no `long long` inside the structure
2020-11-06 16:15:51 -08:00
Yann Collet
78433070ab document LZ4_ALIGN_TEST 2020-11-06 14:48:43 -08:00
Yann Collet
e968a24129 unified alignment test
across lz4.c and lz4hc.c
2020-11-06 14:46:48 -08:00