aac_afh.c: Fix serious memory leak.
authorAndre Noll <maan@systemlinux.org>
Thu, 13 Sep 2007 21:06:39 +0000 (23:06 +0200)
committerAndre Noll <maan@systemlinux.org>
Thu, 13 Sep 2007 21:06:39 +0000 (23:06 +0200)
Ooops. We forgot to close the AAC decoder handle...

aac_afh.c

index 9bb4323..85bad6d 100644 (file)
--- a/aac_afh.c
+++ b/aac_afh.c
@@ -100,7 +100,7 @@ static int aac_get_file_info(char *map, size_t numbytes,
        unsigned long rate = 0, decoder_len;
        unsigned char channels = 0;
        mp4AudioSpecificConfig mp4ASC;
-       NeAACDecHandle handle;
+       NeAACDecHandle handle = NULL;
        unsigned char *umap = (unsigned char *) map;
 
        ret = aac_find_esds(umap, numbytes, &skip, &decoder_len);
@@ -146,6 +146,8 @@ static int aac_get_file_info(char *map, size_t numbytes,
        tv_scale(20, &afi->chunk_tv, &afi->eof_tv);
        ret = 1;
 out:
+       if (handle)
+               NeAACDecClose(handle);
        return ret;
 }