From 013e8479afce485bec1c93b8b58fb558abaac6ed Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 3 Sep 2012 22:45:33 +0200 Subject: AudioCompress: abort on out-of-memory This library crashes on out-of-memory (NULL pointer dereference). There's not much useful MPD can do in such a situation, so let's explicitly abort instead, just like GLib does. --- src/AudioCompress/compress.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/AudioCompress/compress.c b/src/AudioCompress/compress.c index 36cdfd8dd..fd51ac3a3 100644 --- a/src/AudioCompress/compress.c +++ b/src/AudioCompress/compress.c @@ -33,6 +33,9 @@ struct Compressor { struct Compressor *Compressor_new(unsigned int history) { struct Compressor *obj = malloc(sizeof(struct Compressor)); + if (obj == NULL) + /* out of memory, not much we can do */ + abort(); obj->prefs.target = TARGET; obj->prefs.maxgain = GAINMAX; @@ -61,6 +64,10 @@ void Compressor_delete(struct Compressor *obj) static int *resizeArray(int *data, int newsz, int oldsz) { data = realloc(data, newsz*sizeof(int)); + if (data == NULL) + /* out of memory, not much we can do */ + abort(); + if (newsz > oldsz) memset(data + oldsz, 0, sizeof(int)*(newsz - oldsz)); return data; -- cgit v1.2.3