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:
authorUnderground78 <underground78@users.sourceforge.net>2012-05-08 17:00:07 +0400
committerUnderground78 <underground78@users.sourceforge.net>2012-05-08 17:00:07 +0400
commit4a6ffbbf57fae3f3873e6f82d2dba9e7d0d614a2 (patch)
tree8342c117478dde76876378449eb30c0c56ace122 /src/filters/parser
parent008010c53a8b5a3fe7b9af03ac8bb04bcc9c4b7a (diff)
Use secure version of the string copy functions.
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4643 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser')
-rw-r--r--src/filters/parser/BaseSplitter/BaseSplitter.cpp4
-rw-r--r--src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp10
2 files changed, 9 insertions, 5 deletions
diff --git a/src/filters/parser/BaseSplitter/BaseSplitter.cpp b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
index daf9e7a8b..63a7b7ccb 100644
--- a/src/filters/parser/BaseSplitter/BaseSplitter.cpp
+++ b/src/filters/parser/BaseSplitter/BaseSplitter.cpp
@@ -243,7 +243,7 @@ HRESULT CBaseSplitterOutputPin::SetName(LPCWSTR pName)
}
m_pName = DNew WCHAR[wcslen(pName)+1];
CheckPointer(m_pName, E_OUTOFMEMORY);
- wcscpy(m_pName, pName);
+ wcscpy_s(m_pName, wcslen(pName) + 1, pName);
return S_OK;
}
@@ -1284,7 +1284,7 @@ STDMETHODIMP CBaseSplitterFilter::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TY
if (!(*ppszFileName)) {
return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp b/src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp
index 32defdcbe..b31cc49de 100644
--- a/src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp
+++ b/src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp
@@ -708,17 +708,21 @@ bool CRealMediaSplitterFilter::DemuxLoop()
p->rtStart = 0;
p->rtStop = 1;
- p->SetCount((4+1) + (2+4+(s.name.GetLength()+1)*2) + (2+4+s.data.GetLength()));
+ size_t count = (4+1) + (2+4+(s.name.GetLength()+1)*2) + (2+4+s.data.GetLength());
+ p->SetCount(count);
BYTE* ptr = p->GetData();
- strcpy((char*)ptr, "GAB2");
+ strcpy_s((char*)ptr, count, "GAB2");
ptr += 4+1;
+ count -= 4+1;
*(WORD*)ptr = 2;
ptr += 2;
+ count -= 2;
*(DWORD*)ptr = (s.name.GetLength()+1)*2;
ptr += 4;
- wcscpy((WCHAR*)ptr, CStringW(s.name));
+ count -= 4;
+ wcscpy_s((WCHAR*)ptr, count / 2, CStringW(s.name));
ptr += (s.name.GetLength()+1)*2;
*(WORD*)ptr = 4;