Skip to content

Conversation

@Cyan4973
Copy link
Member

@Cyan4973 Cyan4973 commented Apr 23, 2019

  • fix : decompression functions were reading a few bytes beyond input size (introduced in v1.9.0, reported by @ppodolsky and @danlark1)
  • api : fix : lz4frame initializers compatibility with c++, reported by @degski
  • cli : added command --list, based on a patch by @gabrielstedman
  • build: improved Windows build, by @JPeterMugaas
  • build: AIX, by Norman Green

Cyan4973 and others added 30 commits April 16, 2019 20:46
and deprecate LZ4_decompress_fast(),
with deprecation warnings enabled by default.

Note that, as a consequence of the fix,
LZ4_decompress_fast is now __slower__ than LZ4_decompress_safe().
That's because, since it doesn't know the input buffer size,
it must progress more cautiously into the input buffer
to ensure to out-of-bound read.
was disabled for tests
the program exit(),
so there is no need to track and dealloc every buffer.
Fix out-of-bound read in LZ4_decompress_fast()
and created target cxx17build
fix minor Visual warnings
fixed read-after input in LZ4_decompress_safe()
lz4frame: initializers compatibility with C++
…!= stdin

This behavior has been preserved for compatibility with existing ecosystem.
But it's problematic, as some environment start `lz4` without identifying stdout as console by default,
leading to a change of behavior for a same line of script.

A more sensible policy would be to default to stdout only when input is stdin.

Soft change for the time being : keep the behavior, just print a warning message.
User should prefer `-c` to explicitly select `stdout`.

Also : updated tests in Makefile to explicitly select `stdout` with `-c`.
for potential redirection, if need be.

note : should probably converge all comparison operations onto CMP
ensure this case is continuously tested on travis.

Update documentation on implicit output,
invite to not rely on implicit output in scripts.
cli: warning for stdout as default output
gabrielstedman and others added 20 commits April 22, 2019 10:02
re-structure code, have everything into a single section of lz4io.c
better handling of special conditions,
better scoping of variables.

Also : updated man page
strange, because it previous implementation, it would `exit()`,
so it should not matter ...
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.
@Cyan4973 Cyan4973 merged commit 398e36c into master Apr 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants