From fa7f754289007ab46857db7821fe9bd04a67da5f Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Wed, 25 May 2016 08:42:53 +0200 Subject: Bug with reinit of codec structs --- modules/mpa/decode.c | 14 ++++++++------ modules/mpa/encode.c | 10 +++++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/mpa/decode.c b/modules/mpa/decode.c index b71a335..6e5b71e 100644 --- a/modules/mpa/decode.c +++ b/modules/mpa/decode.c @@ -51,12 +51,14 @@ int mpa_decode_update(struct audec_state **adsp, const struct aucodec *ac, debug("MPA dec created %s\n",fmtp); #endif - if (ads) - mem_deref(ads); - - ads = mem_zalloc(sizeof(*ads), destructor); - if (!ads) - return ENOMEM; + if (!ads) { + ads = mem_zalloc(sizeof(*ads), destructor); + if (!ads) + return ENOMEM; + } + else { + memset(ads,0,sizeof(*ads)); + } ads->channels = 0; ads->resampler = NULL; ads->start = 0; diff --git a/modules/mpa/encode.c b/modules/mpa/encode.c index 21a34c0..ec0b0a2 100644 --- a/modules/mpa/encode.c +++ b/modules/mpa/encode.c @@ -49,11 +49,15 @@ int mpa_encode_update(struct auenc_state **aesp, const struct aucodec *ac, return EINVAL; aes = *aesp; - if (aes) { - mem_deref(aes); + if (!aes) { + aes = mem_zalloc(sizeof(*aes), destructor); + if (!aes) + return ENOMEM; + } + else + memset(aes,0,sizeof(*aes)); - aes = mem_zalloc(sizeof(*aes), destructor); aes->enc = twolame_init(); if (!aes->enc) { error("MPA enc create failed\n"); -- cgit v1.2.3 From 438c5366abb201a43ab339dcaa1c8b2dfd45e7c1 Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Wed, 25 May 2016 08:54:20 +0200 Subject: obeyed ccheck --- modules/mpa/decode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mpa/decode.c b/modules/mpa/decode.c index 6e5b71e..52f9304 100644 --- a/modules/mpa/decode.c +++ b/modules/mpa/decode.c @@ -55,7 +55,7 @@ int mpa_decode_update(struct audec_state **adsp, const struct aucodec *ac, ads = mem_zalloc(sizeof(*ads), destructor); if (!ads) return ENOMEM; - } + } else { memset(ads,0,sizeof(*ads)); } -- cgit v1.2.3