mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 03:55:19 -04:00
Don't crash if out of memory reallocating data for freetype or allocating output buffer for music
This commit is contained in:
parent
23ee71914f
commit
56d20790ce
@ -767,7 +767,9 @@ static cc_result Music_PlayOgg(struct Stream* source) {
|
|||||||
/* so we may end up decoding slightly over a second of audio */
|
/* so we may end up decoding slightly over a second of audio */
|
||||||
chunkSize = fmt.channels * (fmt.sampleRate + vorbis.blockSizes[1]);
|
chunkSize = fmt.channels * (fmt.sampleRate + vorbis.blockSizes[1]);
|
||||||
samplesPerSecond = fmt.channels * fmt.sampleRate;
|
samplesPerSecond = fmt.channels * fmt.sampleRate;
|
||||||
data = (cc_int16*)Mem_Alloc(chunkSize * AUDIO_MAX_BUFFERS, 2, "Ogg final output");
|
|
||||||
|
data = (cc_int16*)Mem_TryAlloc(chunkSize * AUDIO_MAX_BUFFERS, 2);
|
||||||
|
if (!data) { res = ERR_OUT_OF_MEMORY; goto cleanup; }
|
||||||
|
|
||||||
/* fill up with some samples before playing */
|
/* fill up with some samples before playing */
|
||||||
for (i = 0; i < AUDIO_MAX_BUFFERS && !res; i++) {
|
for (i = 0; i < AUDIO_MAX_BUFFERS && !res; i++) {
|
||||||
|
@ -875,7 +875,7 @@ static cc_result SysFont_Init(const String* path, struct SysFont* font, FT_Open_
|
|||||||
static void* FT_AllocWrapper(FT_Memory memory, long size) { return Mem_TryAlloc(size, 1); }
|
static void* FT_AllocWrapper(FT_Memory memory, long size) { return Mem_TryAlloc(size, 1); }
|
||||||
static void FT_FreeWrapper(FT_Memory memory, void* block) { Mem_Free(block); }
|
static void FT_FreeWrapper(FT_Memory memory, void* block) { Mem_Free(block); }
|
||||||
static void* FT_ReallocWrapper(FT_Memory memory, long cur_size, long new_size, void* block) {
|
static void* FT_ReallocWrapper(FT_Memory memory, long cur_size, long new_size, void* block) {
|
||||||
return Mem_Realloc(block, new_size, 1, "Freetype data");
|
return Mem_TryRealloc(block, new_size, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static cc_bool updatedSysFonts;
|
static cc_bool updatedSysFonts;
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#ifndef CC_GFXAPI_H
|
#ifndef CC_GFXAPI_H
|
||||||
#define CC_GFXAPI_H
|
#define CC_GFXAPI_H
|
||||||
#include "PackedCol.h"
|
|
||||||
#include "Vectors.h"
|
#include "Vectors.h"
|
||||||
#include "GameStructs.h"
|
#include "GameStructs.h"
|
||||||
#include "Bitmap.h"
|
#include "Bitmap.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user