| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Make the grouping a little more logical.
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
| |
Signed-off-by: Tristan Matthews <tmatth@videolan.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Regression started at commit "4b67376 Remove multiple subtly different inline..."
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
The tagging method is different now that our main
repository is in git instead of subversion.
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
| |
|
|
|
|
|
| |
This allows to switch between different build systems when building
multiple test matrix configurations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This allows to switch between different build systems when building
multiple test matrix configurations.
|