diff --git a/src/external/stb_vorbis.c b/src/external/stb_vorbis.c index 3e5c2504c08f..fb0e84845970 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 d624755add8e..115e93299a0e 100644 --- a/src/raudio.c +++ b/src/raudio.c @@ -210,7 +210,8 @@ typedef struct tagBITMAPINFOHEADER { #endif #if SUPPORT_FILEFORMAT_OGG - // TODO: Remap stb_vorbis malloc()/free() calls to RL_MALLOC/RL_FREE + #define STB_VORBIS_MALLOC RL_MALLOC + #define STB_VORBIS_FREE RL_FREE #include "external/stb_vorbis.c" // OGG loading functions #endif