diff options
author | Underground78 <underground78@users.sourceforge.net> | 2012-05-08 17:00:07 +0400 |
---|---|---|
committer | Underground78 <underground78@users.sourceforge.net> | 2012-05-08 17:00:07 +0400 |
commit | 4a6ffbbf57fae3f3873e6f82d2dba9e7d0d614a2 (patch) | |
tree | 8342c117478dde76876378449eb30c0c56ace122 /src/filters/parser | |
parent | 008010c53a8b5a3fe7b9af03ac8bb04bcc9c4b7a (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.cpp | 4 | ||||
-rw-r--r-- | src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp | 10 |
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;
|