Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjonasno <jonasno@users.sourceforge.net>2010-01-18 18:01:32 +0300
committerjonasno <jonasno@users.sourceforge.net>2010-01-18 18:01:32 +0300
commit6a31a3854b5b450d9fe03f745f7b143bc10a9298 (patch)
treee6de368c231a50333784497e7b400f7483c5429f /src/apps/mplayerc/PlayerCaptureDialog.cpp
parent0907b8ffb47c74ba7f09c6243c3df4cd5567f605 (diff)
Fixed memory leaks
Fixed possible buffer overflows git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1527 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/apps/mplayerc/PlayerCaptureDialog.cpp')
-rw-r--r--src/apps/mplayerc/PlayerCaptureDialog.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/apps/mplayerc/PlayerCaptureDialog.cpp b/src/apps/mplayerc/PlayerCaptureDialog.cpp
index 2c8a91f3e..9a360e01c 100644
--- a/src/apps/mplayerc/PlayerCaptureDialog.cpp
+++ b/src/apps/mplayerc/PlayerCaptureDialog.cpp
@@ -47,7 +47,11 @@ static bool LoadMediaType(CStringW DisplayName, AM_MEDIA_TYPE** ppmt)
UINT len;
if(AfxGetApp()->GetProfileBinary(_T("Capture\\") + CString(DisplayName), _T("MediaType"), &pData, &len))
{
- if(len != sizeof(AM_MEDIA_TYPE)) return(fRet);
+ if ( len != sizeof(AM_MEDIA_TYPE) )
+ {
+ delete [] pData;
+ return(fRet);
+ }
memcpy(*ppmt, pData, len);
delete [] pData;
@@ -58,7 +62,11 @@ static bool LoadMediaType(CStringW DisplayName, AM_MEDIA_TYPE** ppmt)
if(AfxGetApp()->GetProfileBinary(_T("Capture\\") + CString(DisplayName), _T("Format"), &pData, &len))
{
- if(!len) return(fRet);
+ if ( !len )
+ {
+ delete [] pData;
+ return(fRet);
+ }
(*ppmt)->cbFormat = len;
(*ppmt)->pbFormat = (BYTE*)CoTaskMemAlloc(len);
memcpy((*ppmt)->pbFormat, pData, len);