| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Properly export Vorbis targets when added via `add_subdirectory()`.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bump soname version and vendor string for the new release.
Update the top-level copyright dates for the release.
The have only been bug fixes to the encoder, no tuning changes,
but we updated the codename last time. so doing so again this
time. It's better to be able to distinguish releases than not.
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
Signed-off-by: Thomas Daede <daede003@umn.edu>
|
|
|
|
|
|
|
| |
The page the LSP algorithm is based on is no longer online.
Link to an archived version instead.
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
|
|
|
|
|
|
|
| |
Use the secure link, which should be the default. Prefer the
url without the `www` prefix because it's shorter.
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Make it clear to local analysis that no out-of-bounds array
accesses are possible here.
Follow-up to CVE-2018-10393 and CVE-2017-14160.
Signed-off-by: Thomas Daede <daede003@umn.edu>
Signed-off-by: Monty <xiphmont@xiph.org>
|
|
|
|
|
|
|
|
| |
Based on0002-Avoid-SIGFPE-when-bytespersample-is-zero.patch from Debian,
see https://bugs.debian.org/635906 , adjusted with input from Ralph
Giles.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
| |
Supress warnings about unsafe and deprecated functions like this: strcat is unsafe, use `strcat_s` instead and so on.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
| |
MinGW produces DLLs, but exports nothing.
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
see: https://gitlab.xiph.org/xiph/vorbis/issues/2079
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #2335.
|
| |
|
| |
|
|
|
|
| |
Fixes #1975
|
|
|
|
| |
Fixes xiph/vorbis#32
|
| |
|
|
|
|
|
| |
Codebooks that are not an exact divisor of the partition size are now
truncated to fit within the partition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Regression started at commit "4b67376 Remove multiple subtly different inline..."
|
|
|
|
|
|
| |
info is allocated with calloc() already.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Include vorbis library when linking vorbisfile and vorbisenc.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
|
|
| |
Use malloc/free instead of the more convenient alloca for
comment data. Album art can easily be larger than the local
stack limit and crash the process.
Thanks to Robert Kausch for the suggestion.
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
| |
Newer versions prefer AM_CPPFLAGS to INCLUDES.
Tell libtool about our m4 directory.
|
|
|
|
| |
svn path=/trunk/vorbis/; revision=19457
|
|
|
|
|
|
|
| |
encode with static initializers.
svn path=/trunk/vorbis/; revision=19455
|
|
|
|
| |
svn path=/trunk/vorbis/; revision=19454
|
|
|
|
|
|
|
|
| |
code. Note that the code in question is effectively dead as it's for
floor0 encoding, and floor zero has been deprecated for over a decade.
svn path=/trunk/vorbis/; revision=19453
|
|
|
|
|
|
| |
Patch from Hugo Beauzée-Luyssen. Fixes the build in WindowsRT/ARM.
svn path=/trunk/vorbis/; revision=19449
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
single-entry codebook, but does not code a codeword of length 1 equal
to zero. Such a stream could cause a stream to read garbage.
There is no apparent chance of garbage memory writes as this happen
entirely after decode setup, however there is playback DoS potential.
This commit special cases single-entry codebook setup so that decode
is well-defined for streams with single-entry codebooks, and adds some
comments to make it more clear how the case is handled.
svn path=/trunk/vorbis/; revision=19444
|
|
|
|
|
|
| |
consistent
svn path=/trunk/vorbis/; revision=19442
|