diff --git a/src/external/stb_vorbis.c b/src/external/stb_vorbis.c index 3e5c2504c..fb0e84845 100644 --- a/src/external/stb_vorbis.c +++ b/src/external/stb_vorbis.c @@ -957,13 +957,21 @@ static void *setup_malloc(vorb *f, int sz) f->setup_offset += sz; return p; } + #ifdef STB_VORBIS_MALLOC + return sz ? STB_VORBIS_MALLOC(sz) : NULL; + #else return sz ? malloc(sz) : NULL; + #endif } static void setup_free(vorb *f, void *p) { if (f->alloc.alloc_buffer) return; // do nothing; setup mem is a stack + #ifdef STB_VORBIS_FREE + STB_VORBIS_FREE(p); + #else free(p); + #endif } static void *setup_temp_malloc(vorb *f, int sz) diff --git a/src/raudio.c b/src/raudio.c index 9ca5e9c7d..5c268c93b 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -210,11 +210,9 @@ typedef struct tagBITMAPINFOHEADER { #endif #if SUPPORT_FILEFORMAT_OGG - #define malloc RL_MALLOC - #define free RL_FREE + #define STB_VORBIS_MALLOC RL_MALLOC + #define STB_VORBIS_FREE RL_FREE #include "external/stb_vorbis.c" // OGG loading functions - #undef malloc - #undef free #endif #if SUPPORT_FILEFORMAT_MP3