Commit Graph

120 Commits

Author SHA1 Message Date
Sean Barrett 314d0a6f9a update version numbers 2020-07-13 04:36:03 -07:00
Sean Barrett 580fc1ab9b Merge branch 'stb_vorbis-fix-comment-read-oom' of https://github.com/akien-mga/stb into working 2020-07-13 04:15:48 -07:00
Sean Barrett db2acff8b1 stb_vorbis: fix bug in computing end of temp alloc buffer if it's not a multiple of 8 2020-07-13 04:12:21 -07:00
Sean Barrett a9df364a7c Merge branch 'fix_stb_vorbis_alignment' of https://github.com/RandomShaper/stb into working 2020-07-13 04:00:41 -07:00
Sean Barrett 58b2e1490d Merge branch 'fix_alloca' of https://github.com/Clownacy/stb into working 2020-07-13 03:33:18 -07:00
Sean Barrett fb1cea02f8 tweak PR 2020-07-13 03:06:50 -07:00
Sean Barrett add7adc3ea Merge branch 'patch-1' of https://github.com/vickit144/stb into working 2020-07-13 03:05:44 -07:00
Sean Barrett 6f7420a825 add credits for last few PR merges 2020-07-13 02:59:10 -07:00
Rémi Verschelde c24de24aa8 stb_vorbis: Add missing error checks in comment reading mallocs
Fixes #988.
2020-07-07 11:41:18 +02:00
Pedro J. Estébanez 2d0faa4d26 stb_vorbis.c: Fix missing update to 64-bit alignment 2020-05-03 02:35:08 +02:00
Clownacy d8df5e9974 Add myself to the list of contributors
The pull-request template says to do so.
2020-04-24 18:46:28 +01:00
Clownacy 47a3c4f5b5 stb_vorbis.c - Detect `__NEWLIB__` for `alloca.h`
This is needed for `stb_vorbis.c` to compile for the Wii U using
devkitPro.

This should theoretically also fix compilation for the Nintendo
Switch, 3DS, and Wii (with devkitPro, that is) as they all also use
Newlib.

Newlib is also used by Cygwin:
https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/alloca.h;h=5d36318914282280b353aed457e1b1f64947b584;hb=HEAD

And the Google Native Client:
https://chromium.googlesource.com/native_client/nacl-newlib/+/refs/heads/master/newlib/libc/include/alloca.h

As you can see from these links, these both provide `alloca.h` as
well, so it appears to be a safe guarantee that `alloca.h` is
available on Newlib.
2020-04-24 18:34:59 +01:00
wph612 2e78eb603b
Added debugging check on line 1604
I added the code assert(f->valid_bits >= n);  instead of removing if (f->valid_bits < 0) return 0; to improve code with checking and debugging instead.
2020-03-24 20:49:40 -04:00
wph612 fcd0a0bfaa
Remove if (f->valid_bits < 0) return 0; on line 1603
I propose to remove this line because  f->valid_bits will never be less than zero since, in the while loop, you're adding 8 to it. Therefore, it will always evaluate to false. This is to help remove redundant code.
2020-03-24 19:47:18 -04:00
David Reid 1d35dc8609 stb_vorbis: Fix macro redefinition warning on MinGW. 2020-02-15 07:23:22 +10:00
Sean Barrett 37b9b20fde update version numbers 2020-02-05 03:19:08 -08:00
Marco Lizza 41a6bb58d1 Other (pedantic) warnings for possible uninitialized variables. 2020-02-04 17:03:48 +01:00
Marco Lizza 43c6bd4e0e Fixing (pedantic) cast warnings. 2020-02-04 17:03:23 +01:00
Sean Barrett 2bb4a0accd Fix trailing whitespace 2020-02-02 11:30:27 -08:00
Sean Barrett 7a69424f15 update version numbers 2020-02-02 11:26:50 -08:00
Sean Barrett d79349d0b7 stb_vorbis: update credits 2020-02-02 10:54:29 -08:00
Sean Barrett 95ce252305 Merge branch 'OggComment' of https://github.com/audinowho/stb into work2 2020-02-02 10:51:14 -08:00
Sean Barrett aad77ec74e Merge branch 'issue-799' of https://github.com/pwaller/stb into work2 2020-02-02 10:04:39 -08:00
Sean Barrett 4067b6d28b Merge branch 'kc/fix-coverity-issues-1' of https://github.com/krcroft/stb into work2 2020-02-02 10:02:25 -08:00
Peter Waller 2f18c96cfb Pad allocations in setup_{,temp_}malloc for 8-byte alignment
4-byte alignment triggered warnings with clang and -fsanitize=undefined.

Fix #799.

Signed-off-by: Peter Waller <p@pwaller.net>
2020-01-02 10:48:47 +00:00
Kevin Croft 58e0c4438d
STB Vorbis: eliminate inaccessible branch
The eliminated code removes the (ch == 1) branch, which is scoped
within this if condition: `if (rtype == 2 && ch != 1)`, therefore
the (ch == 1) branch will never be taken.

Fixes #842.
2019-12-04 22:09:14 -08:00
Kevin Croft 3b491aa07c
STB Vorbis: prevent division by zero in decode_resign if ch == 0
In the call to decode_residue:
  decode_residue(f, residue_buffers, ch, n2, r, do_not_decode);

The channel count is previously intialized as zero and incremented
based on a for-loop (f->channels) plus a conditional,
if (map->chan[j].mux == i).  If this doesn't happen then 'ch'
remains zero.

Once inside decode_residue(..), the code has three branches based
on channel count: stereo (ch == 2), mono (ch == 1), and then the
exception if it's neither of those (simple 'else').  It's in here
where a zero-valued 'ch' can be used as the denominator in these
calculations:
    int c_inter = z % ch
    p_inter = z/ch;

Obviously this 'else' branch is meant for channel counts greater
than two an not for zero channels; so this change simply makes
that branch only valid if (ch > 2).
2019-12-04 22:09:13 -08:00
Dougall Johnson da79a214ef stb_vorbis: improve fix for theoretical seek performance problem 2019-10-21 20:39:31 +11:00
Dougall Johnson c3298670d0 stb_vorbis: fix a couple asserts that fail on invalid files 2019-10-21 15:37:04 +11:00
Dougall Johnson 057914d959 stb_vorbis: fix pushdata for files with audio packets in header pages
Fixes #259, #597
2019-10-20 14:42:28 +11:00
Dougall Johnson 7c4eb44a63 stb_vorbis: fix seeking in files with audio packets in header pages
Fixes #682, #580
2019-10-01 20:47:29 +10:00
Dougall Johnson 2abc5c6ced stb_vorbis: fix seek_to_sample_coarse failure near page end 2019-10-01 16:50:21 +10:00
Dougall Johnson 6ca87a9e0e stb_vorbis: fix theoretical seek performance problem 2019-10-01 16:36:41 +10:00
Audino 2a0cff1288 Add comment support to stb_vorbis 2019-09-12 16:51:44 -07:00
Sean Barrett 5c98e6564b stb_vorbis: fix typo in CVE number in docs 2019-08-11 04:26:23 -07:00
Sean Barrett 1b2fa11055 stb_vorbis: bump version number 2019-08-09 04:13:24 -07:00
Sean Barrett 98fdfc6df8 Fix seven bugs discovered and fixed by ForAllSecure:
CVE-2019-13217: heap buffer overflow in start_decoder()
CVE-2019-13218: stack buffer overflow in compute_codewords()
CVE-2019-13219: uninitialized memory in vorbis_decode_packet_rest()
CVE-2019-13220: out-of-range read in draw_line()
CVE-2019-13221: issue with large 1D codebooks in lookup1_values()
CVE-2019-13222: unchecked NULL returned by get_window()
CVE-2019-13223: division by zero in predict_point()
2019-08-09 04:05:22 -07:00
Sean Barrett 2c2908f505 update version numbers 2019-03-04 15:08:53 -08:00
Sean Barrett a0b521fcf2 no warnings when compiling /W3
compiling all test cases and compilers in test.sbm
   Compilers:
     32-bit:
       VS2015
       VS2013
       VS2008
       VC6 (1998)
       clang-cl 9.0.1
     64-bit
       VS2015
       clang-cl 9.0.1
2019-03-04 14:45:06 -08:00
Sean Barrett 63b59b46b0 update version numbers 2019-02-07 10:03:00 -08:00
Kevin Croft d1dc3fe89c Fix return typo, disambiguate else, and check for the complete fishead identifier 2019-02-07 08:43:59 -08:00
Kevin Croft 604b9367ee Add detection for Ogg skeleton metadata 2019-02-07 08:43:59 -08:00
luz.paz 622b3adad3 Misc. comment typos
Found via `codespell -q 3`
2018-02-12 14:54:22 -05:00
Sean Barrett ac66307576 docs 2018-02-11 11:41:20 -08:00
Sean Barrett b79c8458d3 stb_vorbis: avoid NaN due to uninitialized variable 2018-02-11 11:29:53 -08:00
Sean Barrett a77d9213e4 stb_vorbis: no dealloca 2018-02-01 03:53:17 -08:00
Sean Barrett 663deb3a43 redo lost stb_vorbis fixes 2018-01-29 15:20:54 -08:00
Sean Barrett dfff6f5e7c stb_image: fix assert macro usage; stb_vorbis: changelog 2018-01-29 13:15:10 -08:00
Sean Barrett ee0ebfc79b version numbers 2018-01-29 04:59:32 -08:00
Sean Barrett 244d83bc3d fix unchecked length in stb_vorbis that could crash on corrupt/invalid files 2018-01-29 02:23:18 -08:00