diff options
author | Ewald Snel <esnel@users.sourceforge.net> | 2003-01-08 20:46:36 +0000 |
---|---|---|
committer | Ewald Snel <esnel@users.sourceforge.net> | 2003-01-08 20:46:36 +0000 |
commit | a6d95d986772f662bc4f98e38de617a523212bcf (patch) | |
tree | bd81ab40ecd733980bfd534c80f05223788a2eaa | |
parent | 655005fefeee38af9a5c36ab49317fef340a5118 (diff) | |
download | xine-lib-a6d95d986772f662bc4f98e38de617a523212bcf.tar.gz xine-lib-a6d95d986772f662bc4f98e38de617a523212bcf.tar.bz2 |
Fix memory leak
CVS patchset: 3833
CVS date: 2003/01/08 20:46:36
-rw-r--r-- | src/libw32dll/DirectShow/DS_VideoDecoder.c | 3 | ||||
-rw-r--r-- | src/libw32dll/dmo/DMO_AudioDecoder.c | 2 | ||||
-rw-r--r-- | src/libw32dll/dmo/DMO_VideoDecoder.c | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/libw32dll/DirectShow/DS_VideoDecoder.c b/src/libw32dll/DirectShow/DS_VideoDecoder.c index 9dafbc85d..75f28127d 100644 --- a/src/libw32dll/DirectShow/DS_VideoDecoder.c +++ b/src/libw32dll/DirectShow/DS_VideoDecoder.c @@ -175,6 +175,9 @@ DS_VideoDecoder * DS_VideoDecoder_Open(char* dllname, GUID* guid, BITMAPINFOHEAD if (!this->m_pDS_Filter) { printf("Failed to create DirectShow filter\n"); + free(this->m_sVhdr); + free(this->m_sVhdr2); + free(this); return 0; } 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; } |