Commit Graph

55 Commits

Author SHA1 Message Date
Sean Barrett 14e6a98469 clarify alloca #include whitelists 2016-08-27 12:10:46 -07:00
Sean Barrett f4938bfa4d Whitelist the compilers that need malloc.h for alloca 2016-08-27 12:09:01 -07:00
Sean Barrett 4c519106a7 back out previous change to stb_vorbis (truncation of last frame in corrupt file) 2016-04-04 18:39:30 -07:00
Sean Barrett 6e4154737c update version numbers, documentation, and contributors 2016-04-02 04:51:26 -07:00
Sean Barrett b03133000a avoid dropping final frame of audio data due to wrong test 2016-04-02 04:20:36 -07:00
Sean Barrett 92bd7a49a8 emscripten needs explicit alloca as well 2016-04-02 03:57:17 -07:00
Sean Barrett 75c5908f95 fix includes for linux alloca 2016-04-02 03:44:50 -07:00
Jörn Heusipp aeba55604a stb_vorbis: Fix memory leak in start_decoder(). 2016-04-02 03:44:37 -07:00
Sean Barrett 8f368799e1 Merge branch 'for-upstream-stbvorbis-fix-memleaks' of https://github.com/manxorist/stb 2016-04-02 02:58:19 -07:00
Sean Barrett ba1277e39c Merge branch 'fix_warnings' of https://github.com/tgoulart/stb into working 2016-04-02 02:54:53 -07:00
Jörn Heusipp 0985e89335 stb_vorbis: Fix memory leak in decode_residue() and inverse_mdct() when redefining temp_alloc() and temp_free()
temp_alloc() and temp_free() are documented as customization points in section "MEMORY ALLOCATION" (stb_vorbis.c:81).
However, in decode_residue() and inverse_mdct() (via temp_block_array() and temp_alloc() respectively), stb_vorbis allocates temporary memory but does not call temp_free() when finished. It does call temp_alloc_restore() though, but there is no sane way to provide an implementation thereof when using a malloc()/free()-like allocation backend.

Adding calls to temp_free() before the respective calls to temp_alloc_restore() is safe, because in case of a non-empty temp_alloc_restore() implementation, temp_free() would simply be implemented empty (the current implementation of temp_*() is fine in this regard). That way, all possible temporary memory allocation schemes (i.e. alloca(), custom provided alloc_buffer, malloc()) are handled properly.

Add the appropriate temp_free() calls.
2016-03-17 09:23:45 +01:00
Thiago Goulart 5a00ce39eb Fix a few warnings when building std_vorbis using Xcode 7.2.1 2016-03-02 00:50:40 -08:00
Craig Donner ee6978cb68 Slightly modify the public domain license to keep it in the public domain, but make it clear that even when dedications might not be recognized that the code is still usable. Given that this isn't dual-licensing under a different license, I'm hoping this will be acceptable. 2016-02-25 12:55:44 -08:00
Sean Barrett 79f29bafff fix previous stb_vorbis check-in that didn't actually compile;
make stb_vorbis_alloc* parameter in APIs be const
2016-01-16 09:48:01 -08:00
Sean Barrett 3560e553e8 stb_vorbis version history and contributor info 2016-01-16 07:42:24 -08:00
Sean Barrett e9e5dd94b8 Merge branch 'vorbis-pedantic' of https://github.com/rohit-n/stb into working 2016-01-16 07:35:10 -08:00
Sean Barrett 95e954c822 const correctness for pushdata API;
minor tweak to get_samples_interleaved documentation
2016-01-16 07:26:16 -08:00
Sean Barrett 0860860af6 avoid __forceinline in mingw since their definition for C is broken;
dummy definitions for malloc et al (note you have to modify source to make this work though anyway);
tweak credits change;
2016-01-16 07:19:27 -08:00
Sean Barrett 2b57ea95da fixed version of removed support for CODEBOOK_SHORTS 2015-11-08 19:16:25 -08:00
Sean Barrett fe74a8c223 broken attempt at removign STB_VORBIS_CODEBOOK_FLOAT option 2015-11-08 19:13:32 -08:00
Sean Barrett bc2219e1b3 fix multiple crashes on invalid files 2015-11-08 16:22:07 -08:00
Sean Barrett bdac1d2ab4 fix two crashes in invalid files 2015-11-08 16:01:40 -08:00
Sean Barrett 70b33e99f0 fix crash from invalid file 2015-11-08 14:04:56 -08:00
Sean Barrett ea88e59b5d fix invalid handling of truncated end-of-file indicator 2015-11-08 13:45:33 -08:00
Sean Barrett 69a318bdb3 fix two invalid-file crashes found by fuzz testing 2015-11-08 13:20:55 -08:00
Sean Barrett 2073403a5f fix two setup crashes found by fuzz testing 2015-11-08 13:09:30 -08:00
Rohit Nirmal 35fcd0817f stb_vorbis.c: Silence -pedantic warning. 2015-10-09 20:46:59 -05:00
Sean Barrett 60939ec653 fix some more signed shifts 2015-09-03 11:18:40 -07:00
Sean Barrett a3d62dfec1 fix a few crash bugs with invalid stb_vorbis files (reported by Philip Bennefall, found using a fuzz tester) 2015-09-03 11:16:19 -07:00
Sean Barrett 7670656322 fix some signed shifts that should have been unsigned for C spec reasons 2015-09-03 10:24:01 -07:00
Sean Barrett 0e24ec5feb fix some cases that didn't return outofmem error properly and would crash instead 2015-09-03 07:11:02 -07:00
Sean Barrett a009673856 update stb_vorbis version 2015-08-31 12:49:03 -07:00
Sean Barrett ebb54fd7a3 seeking in stb_vorbis (Dougall Johnson)
test program for seeking (stb)
2015-08-30 19:29:35 -07:00
Ryan Whitworth f844b2dbd2 Added public domain license text 2015-08-01 14:57:53 -04:00
Sean Barrett a200fab163 add some minor comments 2015-08-01 04:02:21 -07:00
Sean Barrett 4b518bb2b6 whoops, didn't mean to check in those changes for this file, but did for the other files 2015-02-01 02:45:11 -08:00
Sean Barrett 0d840ab330 quick & dirty leak checker 2015-01-21 07:46:54 -08:00
Sean Barrett b8e0530fdf update contributor list & version number 2014-08-27 22:01:37 -07:00
Sean Barrett 33d621ca48 tweaks to const-correct API change 2014-08-27 22:00:07 -07:00
Alejandro Pereda 93c02695e3 Const in decode/open memory.
"const" added in stb_vorbis_decode_memory and stb_vorbis_open_memory to
allow to read from const buffers.
2014-08-28 06:53:13 +08:00
Sean Barrett c8a3522a5f version number 2014-08-07 04:46:13 -07:00
Sean Barrett 85c39da625 Merge branch 'rc/const' of https://github.com/ronnychevalier/stb into working 2014-08-07 04:25:12 -07:00
Ronny Chevalier 2119c17ae9 stb_vorbis: fix unused variables
Conflicts:
	stb_vorbis.c
2014-08-07 04:23:33 -07:00
Sean Barrett 260741ed33 vorbis warnings from ronny chevalier
I manually made these changes because they
disabled some substantial amounts of code,
and I wanted to make sure this wasn't due to
original code having bugs or deviating from
the specification
2014-08-07 04:20:58 -07:00
Ronny Chevalier 758c165d2c stb_vorbis: fix unused functions 2014-08-07 03:26:27 -07:00
Ronny Chevalier 422e29017c stb_vorbis: fix signed/unsigned comparison 2014-08-07 03:26:14 -07:00
Ronny Chevalier c28e92e856 stb_vorbis: use const char* when appropriate 2014-08-03 23:43:54 +02:00
Sean Barrett 1eb665906e cdecl fixes 2014-07-09 23:41:40 -07:00
Sean Barrett 68b5ec9392 fix cdecl 2014-07-09 23:39:00 -07:00
Sean Barrett 2da2806d20 update version numbers due to warnings/minor fixes 2014-07-07 16:24:11 -07:00