From 013e8479afce485bec1c93b8b58fb558abaac6ed Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
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(+)

(limited to 'src/AudioCompress')

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