summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Rewrap EXTRA_DIST lines.Ralph Giles2020-04-071-4/+2
| | | | Make the grouping a little more logical.
* Add CMake config-file package generationevpobr2020-04-076-24/+202
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* oss-fuzz: replace -lFuzzingEngine with $LIB_FUZZING_ENGINETyson Smith2020-01-171-1/+1
| | | | Signed-off-by: Tristan Matthews <tmatth@videolan.org>
* Don't leak memory in test_sharedbook to please asan.Thomas Daede2019-01-281-0/+1
|
* os.h: make vorbis_ftoi() static inline if !VORBIS_FPU_CONTROLsezero2019-01-281-2/+2
|
* os.h: cleanup the _MSC_VER cpp checks mess.sezero2019-01-281-3/+2
|
* fix typo introduced in commit 8d73daasezero2019-01-281-1/+1
|
* Check for sse2 math before using it.tico-tico2019-01-281-2/+2
|
* info.c (tagcompare): use a locale-insensitive toupper()sezero2019-01-281-2/+5
| | | | see: https://gitlab.xiph.org/xiph/vorbis/issues/2079
* Port opus-tools check to see if underlying file was overwritten.Thomas Daede2019-01-281-0/+4
|
* Fix free of uninitialized memory if seek fails in ov_raw_seekJames Cowgill2019-01-281-10/+6
| | | | | | | | | | | | | | | | | If _seek_helper fails in ov_raw_seek, control jumps to the seek_error label which calls ogg_stream_clear on work_os. However, at this point in the function, work_os is not initialized so we end up attempting to free some uninitialized memory and crashing. Fix by removing the call to ogg_stream_clear. This is safe because the only code path to seek_error happens before work_os is initialized (so there is never anything to free anyway). I also refactor the code a bit: - Remove the ret variable which is unnessesary since we can just pass the result of _seek_helper directly to the if. - Since seek_error is only used once, move the contents of that block to the if statement so we can remove a goto.
* Remove C99-style comments.Thomas Daede2019-01-282-5/+2
|
* Fix the compiling errors on msvc ARM64 configuration.Minmin Gong2018-07-051-1/+1
|
* Fix shift by negative value when reading blocksize.Thomas Daede2018-05-231-2/+7
|
* add osx to travisStephen2018-05-232-8/+12
|
* add fuzzers and build script from OSS-FuzzPaul Kehrer2018-05-232-0/+71
|
* Sanity check number of channels in setup.Thomas Daede2018-05-171-0/+1
| | | | Fixes #2335.
* Clamp large exponents in float32_unpack.Thomas Daede2018-05-171-1/+9
|
* CVE-2017-14160: fix bounds check on very low sample rates.Thomas Daede2018-05-091-1/+2
|
* vorbisenc: detect if new_template is NULLTristan Matthews2018-04-091-1/+1
| | | | Fixes #1975
* Include CMake build scripts in release archivesMarcel Metz2018-03-202-2/+2
| | | | Fixes xiph/vorbis#32
* Update release version in configure.ac to 1.3.6v1.3.6Thomas Daede2018-03-161-1/+1
|
* Update CHANGES and dates for 1.3.6.Thomas Daede2018-03-163-2/+15
|
* Bump version to 1.3.6Thomas Daede2018-03-161-2/+2
|
* CVE-2018-5146: Prevent out-of-bounds write in codebook decoding.Thomas Daede2018-03-161-38/+10
| | | | | Codebooks that are not an exact divisor of the partition size are now truncated to fit within the partition.
* CVE-2017-14632: vorbis_analysis_header_out: Don't clear opb if not initializedGuido Günther2017-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the number of channels is not within the allowed range we call oggback_writeclear altough it's not initialized yet. This fixes =23371== Invalid free() / delete / delete[] / realloc() ==23371== at 0x4C2CE1B: free (vg_replace_malloc.c:530) ==23371== by 0x829CA31: oggpack_writeclear (in /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2) ==23371== by 0x84B96EE: vorbis_analysis_headerout (info.c:652) ==23371== by 0x9FBCBCC: ??? (in /usr/lib/x86_64-linux-gnu/sox/libsox_fmt_vorbis.so) ==23371== by 0x4E524F1: ??? (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) ==23371== by 0x4E52CCA: sox_open_write (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) ==23371== by 0x10D82A: open_output_file (sox.c:1556) ==23371== by 0x10D82A: process (sox.c:1753) ==23371== by 0x10D82A: main (sox.c:3012) ==23371== Address 0x68768c8 is 488 bytes inside a block of size 880 alloc'd ==23371== at 0x4C2BB1F: malloc (vg_replace_malloc.c:298) ==23371== by 0x4C2DE9F: realloc (vg_replace_malloc.c:785) ==23371== by 0x4E545C2: lsx_realloc (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) ==23371== by 0x9FBC9A0: ??? (in /usr/lib/x86_64-linux-gnu/sox/libsox_fmt_vorbis.so) ==23371== by 0x4E524F1: ??? (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) ==23371== by 0x4E52CCA: sox_open_write (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) ==23371== by 0x10D82A: open_output_file (sox.c:1556) ==23371== by 0x10D82A: process (sox.c:1753) ==23371== by 0x10D82A: main (sox.c:3012) as seen when using the testcase from CVE-2017-11333 with 008d23b782be09c8d75ba8190b1794abd66c7121 applied. However the error was there before.
* CVE-2017-14633: Don't allow for more than 256 channelsGuido Günther2017-12-111-1/+1
| | | | | | | | | | | | Otherwise for(i=0;i<vi->channels;i++){ /* the encoder setup assumes that all the modes used by any specific bitrate tweaking use the same floor */ int submap=info->chmuxlist[i]; overreads later in mapping0_forward since chmuxlist is a fixed array of 256 elements max.
* Fixed error in Vorbis I specification for limiting residue vector sizeLoren M. Lang2017-11-112-4/+4
| | | | | | The minimum between the encoded residue boundaries and actual block size needs to be used, otherwise it pushes the boundaries to the edge of the actual blocksize or beyond.
* vorbis: avoid invalid freeTristan Matthews2017-11-101-1/+1
| | | | Regression started at commit "4b67376 Remove multiple subtly different inline..."
* Add build flags for YouCompleteMe.Ralph Giles2017-09-251-0/+8
| | | | | | | | | | Add a .ycm_extra.conf.py script to return the same CFLAGS we pass for `make debug`. These are passed to libclang so symbol lookup works correctly. Note this doesn't pick up changes to the build config, including non-default locations for the ogg headers, but it's better than nothing.
* mapping0.c (mapping0_unpack): kill a useless memset()sezero2017-07-241-1/+0
| | | | | | info is allocated with calloc() already. Signed-off-by: Ralph Giles <giles@thaumas.net>
* os.h: change elif _WIN32 to elif defined(_WIN32)sezero2017-07-241-1/+1
| | | | | | | This symbol is only defined (with the value 1) when building for the Windows target, so we need to ifdef, not if. Signed-off-by: Ralph Giles <giles@thaumas.net>
* Cleanup: Removed tailing white-spaces in C code filesPhilipp Schafft2017-07-2313-164/+164
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Update release checklist for the transition to git.Ralph Giles2017-07-221-4/+4
| | | | | The tagging method is different now that our main repository is in git instead of subversion.
* CMake: Add vorbisenc.c to vorbis target for WIN32 buildsMarcel Metz2017-07-221-0/+4
| | | | | | | | On Windows the vorbis shared library exports some symbols defined in the vorbisen.c file. To allow error free linking this file should be added to to the VORBIS_SOURCES. Signed-off-by: Ralph Giles <giles@thaumas.net>
* Fix reading maximum, nominal, minimum bitrate in _vorbis_unpack_info().Jörn Heusipp2017-07-221-3/+3
| | | | | | | | | | | | | | | | | | | | https://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-630004.2.2 specifies these fields as 32bit signed. oggpack_read(opb,32), which is used to read these fields, returns 32 bits stored in a long. On architectures where long is 64bit, this results in a positive value being returned. This value is then stored in struct vorbis_info in bitrate_upper, bitrate_nominal and bitrate_lower, also as long. ogginfo relies on these values in order to display the respective header fields and thus misrepresented the stored value -1 (which has the intended meaning of "bitrate not set") as 2**32-1 on architectures where long is 64bit. Explicitly cast the return value of oggpack_read() to a signed 32bit integer type. A nominal bitrate value of -1 is valid as per specification, and is written by libvorbis for VBR files with samplerate >= 50000Hz. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Remove svn $Id$ header.Ralph Giles2017-06-16107-111/+2
| | | | | | | Most checked-in files had a comment with a filename and last-modified string automatically updated by the subversion version control tool. These became obsolete when we migrated the repository to git. Remove them.
* Fix signed overflow in _book_maptype1_quantvals().Timothy B. Terriberry2017-06-161-4/+14
| | | | | | | | If b->dims is very large, vals will be 1 and acc1 will overflow a long. This causes us to read too many values for this codebook. Signed-off-by: Monty <xiphmont@xiph.org>
* Add AppVeyor build status badge.Ralph Giles2016-10-051-0/+1
|
* Make CMake build test on Travis-CI mandatoryMarcel Metz2016-10-051-4/+0
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Add cmake as optional build system to Travis-CI configurationMarcel Metz2016-10-051-0/+10
|
* Add BUILD_SYSTEM env variable to Travis-CI build matrixMarcel Metz2016-10-051-3/+6
| | | | | This allows to switch between different build systems when building multiple test matrix configurations.
* autotools: Fix doc_DATA install.Ralph Giles2016-10-051-2/+1
| | | | | | | | | | | | | | | | Both the generated format specification document and the static html documents depend on the logo in fish_xiph_org.png. Unfortunately we can't list them both in their respective dependencies because both are passed to doc_DATA for installation and automake doesn't seem to remove duplicates, causing /usr/bin/install to complain about the overwrite. I couldn't find a good solution to this. Wrapping the doc_DATA value in GNU make's $(sort /list/) function would work, but automake warns about the non-portable construct. Instead, I've just removed it from the spec dependency list and appended it manually.
* Add missing graphics for the html spec.Ralph Giles2016-10-053-1/+16
| | | | | | | | | New equations were added to the spec source in the previous update (early last year) but the generated graphic versions where not added to the repository. Also add all the generated figures to the distribution. No sense in shipping a spec with broken links.
* Make CMake build test on AppVeyor mandatoryMarcel Metz2016-10-051-4/+0
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* Use different install dir for libogg dependency in CMake AppVeyorMarcel Metz2016-10-051-2/+2
|
* Add OGG_ROOT search path to AppVeyor CMake buildMarcel Metz2016-10-051-1/+1
|
* Build CMake install target for libogg dependency on AppVeyorMarcel Metz2016-10-051-1/+1
|
* Add cmake as optional build system to AppVeyor configurationMarcel Metz2016-10-051-0/+19
|
* Add BUILD_SYSTEM env variable to AppVeyor build matrixMarcel Metz2016-10-051-2/+6
| | | | | This allows to switch between different build systems when building multiple test matrix configurations.