From 8b83d8356ce91ee39e5eff66e9c5489b2031dbae Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Thu, 13 Sep 2007 21:57:33 +0200 Subject: [PATCH] ogg_afh.c: Fix a memory leak. In a non-ogg file is passed to the ogg audio format handler, such that the initial ogg_sync_pageout() fails, the old code leaked the memory which was allocated for the stream_in and the stream_out pointers. --- ogg_afh.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ogg_afh.c b/ogg_afh.c index a9b07a3c..60af9922 100644 --- a/ogg_afh.c +++ b/ogg_afh.c @@ -131,8 +131,11 @@ static int ogg_compute_header_len(char *map, size_t numbytes, memcpy(buf, map, len); ogg_sync_wrote(sync_in, (long)len); ret = -E_SYNC_PAGEOUT; - if (ogg_sync_pageout(sync_in, &page) <= 0) + if (ogg_sync_pageout(sync_in, &page) <= 0) { + free(stream_in); + free(stream_out); goto err1; + } serial = ogg_page_serialno(&page); ogg_stream_init(stream_in, serial); ogg_stream_init(stream_out, serial); -- 2.39.2