From 03e23d111385161afc917abe21b19cf8761e0440 Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Tue, 10 May 2011 19:04:24 +0000 Subject: Implement error handling for libfaad's memory allocation. Do not allocate PS related types dynamically anymore to minimize code changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29854 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libfaad/sbr_dec.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'apps/codecs/libfaad/sbr_dec.c') diff --git a/apps/codecs/libfaad/sbr_dec.c b/apps/codecs/libfaad/sbr_dec.c index 7f6a9bbffe..678ebfe520 100644 --- a/apps/codecs/libfaad/sbr_dec.c +++ b/apps/codecs/libfaad/sbr_dec.c @@ -73,20 +73,25 @@ static void sbr_save_matrix(sbr_info *sbr, uint8_t ch); sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, uint8_t id_ele, - uint32_t sample_rate, uint8_t downSampledSBR -#ifdef DRM - , uint8_t IsDRM -#endif - ) + uint32_t sample_rate, uint8_t downSampledSBR, + uint8_t IsDRM) { (void)downSampledSBR; +#ifndef DRM + (void)IsDRM; +#endif /* Allocate sbr_info. */ #if defined(FAAD_STATIC_ALLOC) sbr_info *sbr = &s_sbr[id_ele]; #else (void)id_ele; - sbr_info *sbr =(sbr_info*)faad_malloc(sizeof(sbr_info)); + sbr_info *sbr = (sbr_info*)faad_malloc(sizeof(sbr_info)); + if (sbr == NULL) + { + /* could not allocate memory */ + return NULL; + } #endif memset(sbr, 0, sizeof(sbr_info)); @@ -95,7 +100,12 @@ sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, uint8_t id_ele, #if defined(FAAD_STATIC_ALLOC) || defined(FAAD_HAVE_XLR_IN_IRAM) p_XLR = &s_XLR; #else - p_XLR =(XLR_t*)faad_malloc(sizeof(XLR_t)); + p_XLR = (XLR_t*)faad_malloc(sizeof(XLR_t)); + if (p_XLR == NULL) + { + /* could not allocate memory */ + return NULL; + } #endif memset(p_XLR, 0, sizeof(XLR_t)); -- cgit v1.2.3