1
0
mirror of https://github.com/kspalaiologos/bzip3.git synced 2026-10-23 14:48:53 +03:00
Commit Graph

427 Commits

Author SHA1 Message Date
Nobuhiro Iwamatsu
893f02f6d3 Fix memory leak by compression_buf in bz3_decompress() (#159)
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2025-04-27 14:15:17 +02:00
Nobuhiro Iwamatsu
25b89fcff4 Add License variable to pkg-config file (#158)
The pkg-config file has License variable that allows you to set the
license for the software. This sets LGPL-3.0-or-later to License.

Ref: https://github.com/pkgconf/pkgconf/blob/master/man/pc.5#L116

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2025-04-25 14:09:06 +02:00
Kamila Szewczyk
2d1d304a61 Extend the "Thanks to:" section. 2025-03-30 22:17:02 +02:00
Kamila Szewczyk
6efdf0a581 Update CMakeLists.txt for v1.5.2 2025-03-30 22:13:31 +02:00
Kamila Szewczyk
223177803f Update NEWS for v1.5.2 2025-03-30 22:13:13 +02:00
Kamila Szewczyk
80b3552d7b bz3_compress: better bound estimation 2025-03-30 22:11:06 +02:00
Kamila Szewczyk
ee68d3386e batch mode: fall back to stdin input with no auxiliary arguments 2025-03-02 00:13:06 +01:00
Kamila Szewczyk
4688bb8ee8 build.yml: upgrade bullseye -> bookworm. 2025-02-16 16:46:16 +01:00
Kamila Szewczyk
117cde7e0f build.yml: bump up remaining uses of v3 2025-02-14 18:31:02 +01:00
Kamila Szewczyk
e0b289337b release.yml: download-artifact@v4 2025-02-13 15:18:21 +01:00
Kamila Szewczyk
7f7c1aaeee build.yml: download-artifact@v4 2025-02-13 15:18:02 +01:00
Kamila Szewczyk
4996d5d9f4 release.yml: update to upload-artifact@v4 2025-02-13 15:16:19 +01:00
Kamila Szewczyk
1b3b1513fc build.yml: update to upload-artifact@v4 2025-02-13 15:15:58 +01:00
Alex Willmer
428f422919 README: Tabulate results (#149)
I found this made comparison easier, and highlighted the higher compression ration achieved by bzip3.
2025-02-01 21:31:17 +01:00
Kamila Szewczyk
61c764f6f8 yarg: oom handling 2024-12-17 12:08:37 +01:00
Kamila Szewczyk
c5eb4c2234 use yarg_asprintf in yarg 2024-12-16 17:35:40 +01:00
Kamila Szewczyk
d149f09379 update news / 1.5.1 (#146) 1.5.1 2024-12-16 16:00:59 +01:00
Kamila Szewczyk
f3b47301b4 change soname (fix #146) 2024-12-16 15:55:47 +01:00
Kamila Szewczyk
249b17332a rip out getopt and replace it with yarg.
yarg is a public domain argument parser written by the author of bzip3.
2024-12-16 15:53:44 +01:00
Kamila Szewczyk
fd258cde2b Update news in preparation for v1.5.0 1.5.0 2024-12-15 11:53:17 +01:00
Kamila Szewczyk
9af0f77fd7 fix #138 2024-12-15 11:47:59 +01:00
Sewer.
2b2c18c290 Improve Fuzzing, Enforce Sufficient Buffer Size on Decompress, Calc Memory Usage (#144)
* Added: bz3_memory_needed API.

* Added: bz3_decode_block_bound

* Renamed: bz3_decode_bound -> bz3_decode_block_bound in documentation

* Updated: libbz3.h to specify that it is a frame that is being compressed here.

* Reworked how the fuzzer script works. Can now generate its own input for easier debugging.

* Added: Multithreading to fuzz tutorial.

* Added: 010editor template for fuzzer input.

* Improved: Ignore the AFL Input/Outputs in .gitignore

* Added a note saying `afl-whatsup` is not realtime.

* Fixed: Variable name in embedded hex editor script.

* Added: Note on where to find crashing test case :3

* Added: Integration for bz3_decode_block_bound in bz3_decode_block

* Added: Guide for fuzzing with address sanitizer.

* Fixed: Wrong branch in binary template of fuzz.c

* Improved: Description in bz3_decode_block_bound

* Revert: data_size should not compare with bz3_decode_block_bound

* Removed: `bz3_decode_block_bound` API.

* Added: BZ3_ERR_DATA_SIZE_TOO_SMALL when bz3_decode_block is called with insufficient buffer.

* Implemented: Additional bounds checks in `bz3_decode_block` and `bz3_orig_size_sufficient_for_decode` API

* Adjusted: Old fuzz script now named fuzz-decompress. Enforce includes from local files, not system.

* Fixed: Bad quote usage in bz3_decode_block

* Added: Standard fuzzer inputs.

* Fixed: fuzz failures in decode_block and added a new fuzzer script for block decodes

* Added: Sanity check that the user provided a valid compressed data size to bz3_decode_block

* Changed: bz3_memory_needed -> bz3_min_memory_needed

* Added: Round Trip Fuzzer

* Fixed: Possible out of bounds read in `lzp_decode_block`. Mark exit branches as unlikely.

* Update comment

---------

Co-authored-by: Kamila Szewczyk <27734421+kspalaiologos@users.noreply.github.com>
2024-12-15 11:46:10 +01:00
Sewer.
972e6694b8 Rewritten: BZip3 Format Explanation (#143)
* Rewritten: BZip3 Format Explanation

* Added: Link to ImHex Pattern

* Added: Little Endian Suffix to Pseudostructs

* Bugfix: I accidentally swapped 'file' and 'frame' format around.

* Fixed: Used wrong field when defining used block type in size comparison

* update filter names

* improve phrasing in overview.md

---------

Co-authored-by: Kamila Szewczyk <27734421+kspalaiologos@users.noreply.github.com>
2024-12-14 09:11:20 +01:00
Sewer.
cc01039003 Improved: Make fuzzing docs a tiny bit clearer. (#142) 2024-12-12 08:28:20 +01:00
Kamila Szewczyk
187b3228c7 tighter lzp/rle bounds in encoder 2024-12-09 15:20:31 +01:00
Kamila Szewczyk
cc87a80c57 docstring update 2024-12-09 15:14:47 +01:00
Kamila Szewczyk
e57ae08875 Bump to 1.4.1, will release after minor tweaks 2024-05-19 22:11:36 +02:00
Kamila Szewczyk
48928f4627 fix #131. 2024-05-19 22:10:14 +02:00
Kamila Szewczyk
f55631be09 Clarifications requested by #128 (#129) 2024-01-14 12:48:57 +01:00
Kamila Szewczyk
9cda90718a Fix for #127 2024-01-13 17:51:51 +01:00
Shun Sakai
d9e5e15b7e Add --rm option (#123)
* Run `clang-format`

* Add `--rm` option

This is an option to remove input files after successful compression or
decompression. This is silently ignored if output is stdout.
2024-01-11 13:42:34 +01:00
Kamila Szewczyk
ba14bd9614 Fix for #120 2023-12-20 07:26:15 +01:00
luzpaz
7e73218ef4 Update README.md (#119)
Modify repology badge to display in 3 columns
2023-12-07 07:47:44 +01:00
Kamila Szewczyk
23659dc8c2 NEWS for v1.4.0 1.4.0 2023-12-06 18:13:02 +01:00
Kamila Szewczyk
d1f25dc32a cmake files for the install target 2023-12-06 18:11:32 +01:00
Kamila Szewczyk
b2d61e8724 C language case. 2023-10-15 15:28:15 +02:00
dearblue
0070851478 Declare with C linkage for C++ (#117) 2023-10-15 10:36:24 +02:00
Daniel Engberg
bb2ced7b1f CMake: Disable -march=native by default (#112)
For consistency with GNU Autotools build disable -march=native by default
2023-08-06 20:25:58 +02:00
Daniel Engberg
66e680cf44 CMake: Explicitly link with pthreads (#111)
Compilation fails on various platforms without -pthread and this is consistent behaviour with GNU Autotools build
2023-08-06 20:25:39 +02:00
Kamila Szewczyk
e954b57125 Update NEWS 1.3.2 2023-08-06 10:20:54 +02:00
dearblue
6d1ca9b612 Fixed shift direction for crc32sum() (#109)
* Fixed shift direction for crc32sum()

ref. #105
ref. commit 7a8d35b161

* Add a `.bz3` reference file to test

The `examples/shakespeare.txt.bz3` file was created by the following command

```console
% ./bzip3 -e -b 4 < examples/shakespeare.txt > examples/shakespeare.txt.bz3
```

At this time bzip3 is version 1.1.0 and running on FreeBSD 13.2 amd64.
2023-08-06 10:10:34 +02:00
Kamila Szewczyk
646212a8f5 Update common.h 2023-07-14 09:07:43 +02:00
Kamila Szewczyk
6d041f4a06 don't use reserved macro name 2023-07-02 19:02:14 +02:00
Shun Sakai
5d21594a0d Initial CMake support (#102)
* Add CMake support

* CMake: Enable man pages only on Unix-like

* CMake: Add more options

* CMake: Enable `POSITION_INDEPENDENT_CODE` for shared library
2023-07-02 17:40:16 +02:00
Kamila Szewczyk
882b2dddfc decode->recover in parallel processing 2023-06-13 11:54:43 +02:00
Kamila Szewczyk
812e779dce -r: recovery 2023-05-20 18:28:41 +02:00
Kamila Szewczyk
b4478ccb8c Fix Adam Borowski's patch to work on inflated blocks. 1.3.1 2023-05-20 09:59:05 +02:00
Kamila Szewczyk
8154d1e851 add -vt flag changes to NEWS 2023-05-20 09:48:03 +02:00
Kamila Szewczyk
caa0577e16 verbose statistics for -t flag. 2023-05-20 09:45:25 +02:00
Kamila Szewczyk
db151c9793 Update NEWS 2023-05-20 09:41:40 +02:00