summaryrefslogtreecommitdiff
path: root/src/libw32dll/dmo
diff options
context:
space:
mode:
authorEwald Snel <esnel@users.sourceforge.net>2003-01-08 20:46:36 +0000
committerEwald Snel <esnel@users.sourceforge.net>2003-01-08 20:46:36 +0000
commita6d95d986772f662bc4f98e38de617a523212bcf (patch)
treebd81ab40ecd733980bfd534c80f05223788a2eaa /src/libw32dll/dmo
parent655005fefeee38af9a5c36ab49317fef340a5118 (diff)
downloadxine-lib-a6d95d986772f662bc4f98e38de617a523212bcf.tar.gz
xine-lib-a6d95d986772f662bc4f98e38de617a523212bcf.tar.bz2
Fix memory leak
CVS patchset: 3833 CVS date: 2003/01/08 20:46:36
Diffstat (limited to 'src/libw32dll/dmo')
-rw-r--r--src/libw32dll/dmo/DMO_AudioDecoder.c2
-rw-r--r--src/libw32dll/dmo/DMO_VideoDecoder.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/libw32dll/dmo/DMO_AudioDecoder.c b/src/libw32dll/dmo/DMO_AudioDecoder.c
index 10ddfc367..6df84c38e 100644
--- a/src/libw32dll/dmo/DMO_AudioDecoder.c
+++ b/src/libw32dll/dmo/DMO_AudioDecoder.c
@@ -96,6 +96,8 @@ print_wave_header((WAVEFORMATEX *)this->m_sVhdr2);
this->m_pDMO_Filter = DMO_FilterCreate(dllname, guid, &this->m_sOurType, &this->m_sDestType);
if( !this->m_pDMO_Filter ) {
+ free(this->m_sVhdr);
+ free(this->m_sVhdr2);
free(this);
return NULL;
}
diff --git a/src/libw32dll/dmo/DMO_VideoDecoder.c b/src/libw32dll/dmo/DMO_VideoDecoder.c
index c7a1af6c0..d32653edd 100644
--- a/src/libw32dll/dmo/DMO_VideoDecoder.c
+++ b/src/libw32dll/dmo/DMO_VideoDecoder.c
@@ -187,6 +187,9 @@ DMO_VideoDecoder * DMO_VideoDecoder_Open(char* dllname, GUID* guid, BITMAPINFOHE
if (!this->m_pDMO_Filter)
{
printf("Failed to create DMO filter\n");
+ free(this->m_sVhdr);
+ free(this->m_sVhdr2);
+ free(this);
return 0;
}