summaryrefslogtreecommitdiff
path: root/modules/mpa/encode.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mpa/encode.c')
-rw-r--r--modules/mpa/encode.c10
1 files changed, 7 insertions, 3 deletions
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");