You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
7.3 KiB
221 lines
7.3 KiB
2.11.1 (2023-11-14):
|
|
[ Fabian Greffrath ]
|
|
* Build shared libraries and hide symbols by default.
|
|
* Install man page by default.
|
|
* Check for `lrintf()` availability, link with `-lm` and define `HAVE_LRINTF` accordingly.
|
|
* Set a default build type if none was specified.
|
|
* Build DLL name with SOVERSION by default on Windows.
|
|
* Fix inlined `lrintf()` function signatures.
|
|
|
|
2.11.0 (2023-11-07):
|
|
[ Eugène Filin ]
|
|
* Fix incorrect variable initialization
|
|
|
|
[ Eugene Kliuchnikov ]
|
|
* CI/CD, build, etc
|
|
|
|
- setup GitHub workflows; test build under MSVC, OSX, MSYS2, Linux
|
|
- add CMake build system
|
|
- additionally add Bazel build
|
|
- remove automake and MSVC project files
|
|
- add fuzzers that cover almost all decoder code
|
|
- setup fuzzing for various builds: (no-)FIXED_POINT / (no-)DRM
|
|
- remove dead code
|
|
- address differes compilers warnings
|
|
- move version to distingished place that different build systems can read
|
|
|
|
* "Safe" bugs
|
|
|
|
"Safe" means that it is unlikely to be exploited; those affect the decoded
|
|
result for (most likely) extreme inputs. Some fixes are useful only for
|
|
"FIXED_POINT" build, since it has more restrictions on intermediate values.
|
|
|
|
- "negative range" in estimate_current_envelope
|
|
- integer overflow in channel downmixing
|
|
- integer overflow in estimate_envelope
|
|
- integer overflows caused by "practical infinite" gain
|
|
- integer overflows in HF adjustment code
|
|
- several "left shift of negative value"
|
|
- priming RNG to avoid using values that does not look random at all
|
|
- do not drop the first frame of output; other decoders don't do this
|
|
- touching uninitialized values in lt_update_state
|
|
- touching uninitialized values in bit-reader buffers
|
|
|
|
* "Almost Safe" bugs
|
|
|
|
"Almost safe" means that those are unlinkly to be exploited; if those surface
|
|
depends on build options / environment.
|
|
|
|
- division by zero in HF (noise?) generator and scale factor adjustment
|
|
- division by zero gen_rand_vector
|
|
|
|
* "Unsafe" bugs
|
|
|
|
"Unsafe" means that those can cause crash, or could somehow else be exploited.
|
|
|
|
- CLI: accessing unallocated memory in mp4info (corrupted / zero-samples input) (CVE-2023-38857)
|
|
- CLI: out-of-bounds when parsing mp4 header
|
|
- CLI: crash because of wrong mp4 frame offset calculation (CVE-2023-38857)
|
|
- error handling rvlc_decode_scale_factors (CPU bomb?)
|
|
- null pointer dereference (in DRM + PS build)
|
|
- index-out-of-bounds / stack-buffer-overflow in decode_sce_lfe
|
|
(for streams with PCE)
|
|
- stack-buffer-overflow in pns_decode
|
|
- null pointer derefernce (when channels change their type in the middle
|
|
of the stream)
|
|
- infinite loop on currupted stream
|
|
- add practial limits for scale factors; otherwise calculated NaN/Inf values
|
|
could confuse further logic, resulting in access-out-of-bounds
|
|
- check sf_index in window_grouping_info to avoid access-out-of-bounds
|
|
- clamp bs_pointer values to avoid access-out-of-bounds
|
|
- infinite loop in fill_element
|
|
- sanitize input values in ps_mix_phase to avoid access-out-of-bounds
|
|
- fix internal decoder buffer size calculation to avoid heap-out-of-bounds
|
|
- calculate channel length multiplier even if main channel is already allocated
|
|
to avoid heap-out-of-bounds
|
|
- reserve enough slots for channels in decode_sce_lfe
|
|
to avoid heap-out-of-bounds
|
|
|
|
[ David Korczynski ]
|
|
* Fuzzing integration with oss-fuzz
|
|
|
|
[ Steveice10 ]
|
|
* Add define option to disable SBR/PS support
|
|
* Fix coefficient table selection in tns_decode_coef
|
|
|
|
2.10.1 (2022-10-20):
|
|
[David Korczynski]
|
|
* Reject buffers of zero size.
|
|
|
|
[François Cartegnie]
|
|
* Fix 7.1 with PCE mapping.
|
|
* Have proper version string in `faad.h`.
|
|
* Add conditional build with DRC.
|
|
|
|
2.10.0 (2020-10-20):
|
|
[ tatsuz ]
|
|
* updated Visual Studio projects to VS 2019 (#54)
|
|
|
|
[ Fabian Greffrath ]
|
|
* mp4read.c: fix stack-buffer-overflow in stringin()/ftypin()
|
|
* fix heap-buffer-overflow in mp4read.c
|
|
|
|
[ Clayton Smith ]
|
|
* Remove non-ASCII characters
|
|
* Remove trailing whitespace
|
|
|
|
[ Andrew Wesie ]
|
|
* Check return value of ltp_data.
|
|
* Restrict SBR frame length to 960 and 1024 samples.
|
|
* Support object type 29.
|
|
* Support implicit SBR signaling in frontend.
|
|
* Fix PNS decoding when only right channel is noise.
|
|
* Initialize element_id array with an invalid id.
|
|
* Fix NULL pointer dereferences.
|
|
* Fix infinite loop in adts_parse.
|
|
* Fix infinite loop in huffman_getescape.
|
|
* Check for error after each channel decode.
|
|
* Check for inconsistent number of channels.
|
|
|
|
2.9.2 (2020-05-04):
|
|
[ Michał Janiszewski ]
|
|
* Only use x86-assembly when explicitly on x86
|
|
* Use unsigned integers correctly
|
|
* Initialize pointers that might otherwise not be
|
|
|
|
[ Fabian Greffrath ]
|
|
* update README esp. WRT directory structure
|
|
|
|
[ Rosen Penev ]
|
|
* fix compilation without SBR/PS_DEC (#48)
|
|
* fix compilation with LC_ONLY_DECODER (#47)
|
|
|
|
[ Fabian Greffrath ]
|
|
* fix "inline function 'cfftf1' declared but never defined" compiler warning
|
|
* fix some inconsistencies in the frontend output
|
|
* mp4read_open: add check for failed frame buffer allocation
|
|
* stszin: add check for allocation error and integer overflow
|
|
* add a pkg-config file
|
|
|
|
[ Stefan Pöschel ]
|
|
* frontend: address compile warning + add missing LF (#50)
|
|
|
|
[ François Cartegnie ]
|
|
* library name is faad (#52)
|
|
* Unbreak PS audio (#51)
|
|
|
|
2.9.1 (2019-11-04):
|
|
[ Fabian Greffrath ]
|
|
* Include stdio.h in libfaad/ps_dec.c for stderr (Michael Fink)
|
|
* Fix Tille -> Title typo in frontend/mp4read.c (Alexander Thomas)
|
|
|
|
2.9.0 (2019-09-09):
|
|
[ Krzysztof Nikiel ]
|
|
* Build system fixes and code clean-up
|
|
|
|
[ LoRd_MuldeR ]
|
|
* Fix compiler warnings and code indentation
|
|
* Fix compilation with GCC <= 4.7.3
|
|
* MSVC solution file clean-up
|
|
|
|
[ Cameron Cawley ]
|
|
* Fix compilation with GCC 4.7.4
|
|
* Fix compilation with MinGW
|
|
|
|
[ Michael Fink ]
|
|
* MSVC 2017 project file update
|
|
|
|
[ Hugo Lefeuvre ]
|
|
* Fix crash with unsupported MP4 files (NULL pointer dereference,
|
|
division by zero)
|
|
* CVE-2019-6956: ps_dec: sanitize iid_index before mixing
|
|
* CVE-2018-20196: sbr_fbt: sanitize sbr->M (should not exceed MAX_M)
|
|
* CVE-2018-20199, CVE-2018-20360: specrec: better handle unexpected
|
|
parametric stereo (PS)
|
|
* CVE-2018-20362, CVE-2018-19504, CVE-2018-20195, CVE-2018-20198,
|
|
CVE-2018-20358: syntax.c: check for syntax element inconsistencies
|
|
* CVE-2018-20194, CVE-2018-19503, CVE-2018-20197, CVE-2018-20357,
|
|
CVE-2018-20359, CVE-2018-20361: sbr_hfadj: sanitize frequency band
|
|
borders
|
|
|
|
[ Hugo Beauzée-Luyssen ]
|
|
* CVE-2019-15296, CVE-2018-19502: Fix a couple buffer overflows
|
|
|
|
[ Filip Roséen ]
|
|
* Prevent crash on SCE followed by CPE
|
|
|
|
[ Gianfranco Costamagna ]
|
|
* Fix linking with GCC 9 and "-Wl,--as-needed"
|
|
|
|
[ Fabian Greffrath ]
|
|
* Enable the frontend to be built reproducibly
|
|
|
|
2.8.8:
|
|
2.8.7:
|
|
- MSVC build fixes
|
|
- fixed a coulple bugs
|
|
2.8.6:
|
|
2.8.5:
|
|
- another package fix
|
|
2.8.4:
|
|
- minor fix to released packages
|
|
2.8.3
|
|
- better autotools support
|
|
2.8.2
|
|
- PNS bug fixed
|
|
- New MP4 input module
|
|
- NeAACDecGetVersion:
|
|
new api function to get version and copyright strings
|
|
|
|
2.8.1:
|
|
- seeking support for MP4 files
|
|
2.8.0:
|
|
- patches and fixed bugs
|
|
|
|
2009-02-02 - Version 2.7
|
|
* DAB+ support
|
|
* Use public headers internally to prevent duplicate declarations
|
|
* Explicitly typedef all types as signed
|
|
* Made sure MAIN prediction can't be started after the first frame
|
|
* Lot's of compilation issues solved
|
|
* Bugfix in SBR envelope border calculation
|
|
|