| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Tool documentation has moved to man directory, other dev docs to
README.md and CONTRIBUTING.md. User documentation is already on
the website and doesn't really belong in the source code. Also, fix CMake
so that it uses Doxyfile.in instead of using defaults.
|
| |
|
|
|
|
| |
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50509
Credit: Oss-Fuzz
|
| |
|
| |
|
|
|
|
| |
Credit: oss-fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47747
|
|
|
|
|
| |
This adds a dump of current ABIs (which will probably be released
as 1.4.0) to the test directory, and adds a comparison to current
ABIs to the distcheck
|
|
|
|
| |
This issue popped up in ci-fuzz, unrelated to the PR itself.
|
|
|
|
|
|
| |
For now OOM emulation in fuzzer_metadata is disabled, as I really
want to get as much merged as soon as possible. Need to get back
to this at some point
|
|
|
|
|
|
| |
If the write callback calls for an abort, this must be honored.
This commit adds a check to ascertain the write callback isn't
called again
|
|
|
|
|
| |
In case memory allocation fails or decoding is aborted during
seeking, do not overwrite these states with a seek error
|
| |
|
|
|
|
|
|
|
|
| |
For some reason realloc failing to allocate space to store the
results of entropy partitioning was not handled at all. The realloc
is moved to a spot where it is possible to set encoder state. This
also moves it from deep within a loop to being called only
occasionally
|
|
|
|
| |
Also remove some nearby unused code
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parts of the code use realloc like
x = safe_realloc(x, somesize);
when this is the case, the safe_realloc variant used must free the
old memory block in case it fails, otherwise it will leak. However,
there are also instances in the code where handling is different:
if (0 == (x = safe_realloc(y, somesize)))
return false
in this case, y should not be freed, as y is not set to NULL we
could encounter double frees. Here the safe_realloc_nofree
functions are used.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subdivide_tukey is intended to replace partial_tukey and
punchout_tukey. It works in rougly the same way, but uses a more
efficient algorithm, recyling more data.
subdivide_tukey has 2 arguments, of which 1 is optional. The
first states the maximum number of parts the signal has to be
split up in, the second is the tukey parameter, divided by the
max num of parts.
subdivide_tukey(3) analyses audio with an unsplit block, with the
block split in 2 and split in 3. Here the default p of 0.5 applies
to the smallest parts, so the unsplit block effectively has a p of
0.5/3. subdivide_tukey(3/2e-1) does the same but with p of 0.2.
|
|
|
|
| |
By merging oom checking in fuzzing in steps, it is possible to
implement it without having oss-fuzz build failures
|
| |
|
|
|
|
|
| |
There was some help text in `flac --explain` which hasn't been
correct for about 20 years already. This is removed, the rest of
the text is reflowed to fit 80 chars standard terminal width
|
|
|
|
|
|
|
|
|
| |
Currently, the man pages are converted from a docbook document, but
the conversion doesn't seem very reliable. Also, the man page is
more-or-less duplicated by the html documentation.
This commit moves all tool documentation to a markdown document which
is readable by itself and can be converted by pandoc to a man page
and can be used by Jekyll to populate the website.
|
| |
|
|
|
| |
FreeBSD doesn't have getauxval().
|
|
|
|
| |
A warning and a small workaround is added for building
libFLAC on MSVC with a specific Windows XP targeting toolset.
|
|
|
|
|
| |
The functions these libs provide don't seem to be used on Windows
anyway. This fixes https://github.com/xiph/flac/issues/249
|
| |
|
|
|
|
|
|
|
| |
This might fix https://github.com/xiph/flac/issues/48 I cannot
check as I don't have a file to test with. Besides returning an
empty string upon reading, also allocate empty strings when growing
vorbiscomments
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
See https://github.com/xiph/flac/pull/387 for details
|
|
|
|
|
|
|
| |
See https://github.com/xiph/flac/issues/76 for details
Also, move include of stddef.h and stdarg.h up to top of file to
make clear that they are included unconditionally
|
|
|
|
| |
This fixes https://github.com/xiph/flac/issues/393
|
| |
|
|
|
|
|
|
|
|
| |
In 2003, in commit 94f81b0, a check was added for the block align
field in WAVE. If it contradicts other parts of the header, an error
was raised. This was (probably erroneously) made inactive with #if 0
in commit 13c63e4. This commit reactivates the check and removes the
rest of the inactivated code.
|
|
|
|
| |
See https://github.com/google/oss-fuzz/issues/8006 for details
|
|
|
|
|
|
|
| |
This reverts commit 7e0a0e572305e9004a6fa9bba3dd6be936553b03,
following the change to the FLAC format proposed here:
https://github.com/ietf-wg-cellar/flac-specification/pull/148
It turns out supporting use of INT32_MIN is quite a hassle.
|
| |
|
|
|
|
|
|
|
|
|
| |
In simple_iterator_prime_input_ there was no check whether the first
metadata block is a streaminfo block. As the rest of the functions
operate under the assumption the first block is a streaminfo block,
for example to prevent the functions from deleting the last block
and being left with an iterator pointing nowhere, this check is
added.
|
|
|
|
|
|
|
| |
When a metadata chain was read from an Ogg FLAC file containing no
metadata (but otherwise valid), an empty chain could be returned,
leading to null derefencing on trying to manipulate it. This commit
adds a check for the chain length
|
| |
|
|
|
|
|
|
| |
In commit 0077d3b checks were added for metadata reading in the
stream decoder. However, the metadata interface suffers from the
same problems. Similar to the mentioned commit, checks are added.
|
| |
|
|
|
|
|
|
| |
As abs(INT32_MIN) is undefined, it took some extra work to enable
the encoder to do this. While expected gains are zero, this is
done to ensure full spec coverage in this regard
|