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 | |
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')
-rw-r--r-- | src/filters/muxer/MatroskaMuxer/MatroskaFile.h | 2 | ||||
-rw-r--r-- | src/filters/parser/BaseSplitter/BaseSplitter.cpp | 4 | ||||
-rw-r--r-- | src/filters/parser/RealMediaSplitter/RealMediaSplitter.cpp | 10 | ||||
-rw-r--r-- | src/filters/reader/CDDAReader/CDDAReader.cpp | 2 | ||||
-rw-r--r-- | src/filters/reader/CDXAReader/CDXAReader.cpp | 2 | ||||
-rw-r--r-- | src/filters/reader/UDPReader/UDPReader.cpp | 2 | ||||
-rw-r--r-- | src/filters/reader/VTSReader/VTSReader.cpp | 2 | ||||
-rw-r--r-- | src/filters/source/FLICSource/FLICSource.cpp | 2 | ||||
-rw-r--r-- | src/filters/source/ShoutcastSource/ShoutcastSource.cpp | 2 | ||||
-rw-r--r-- | src/filters/source/SubtitleSource/SubtitleSource.cpp | 2 | ||||
-rw-r--r-- | src/filters/switcher/AudioSwitcher/StreamSwitcher.cpp | 4 |
11 files changed, 19 insertions, 15 deletions
diff --git a/src/filters/muxer/MatroskaMuxer/MatroskaFile.h b/src/filters/muxer/MatroskaMuxer/MatroskaFile.h index 190542bf8..d86d7a715 100644 --- a/src/filters/muxer/MatroskaMuxer/MatroskaFile.h +++ b/src/filters/muxer/MatroskaMuxer/MatroskaFile.h @@ -71,7 +71,7 @@ namespace MatroskaWriter }
CBinary& Set(CStringA str) {
SetCount(str.GetLength()+1);
- strcpy((char*)GetData(), str);
+ strcpy_s((char*)GetData(), str.GetLength() + 1, str);
return(*this);
}
// CBinary& Set(CStringA str) {SetCount(str.GetLength()); memcpy((char*)GetData(), str, str.GetLength()); return(*this);}
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;
diff --git a/src/filters/reader/CDDAReader/CDDAReader.cpp b/src/filters/reader/CDDAReader/CDDAReader.cpp index 817bf5b90..2bc895c9b 100644 --- a/src/filters/reader/CDDAReader/CDDAReader.cpp +++ b/src/filters/reader/CDDAReader/CDDAReader.cpp @@ -135,7 +135,7 @@ STDMETHODIMP CCDDAReader::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/reader/CDXAReader/CDXAReader.cpp b/src/filters/reader/CDXAReader/CDXAReader.cpp index 183410e50..b7163ffa9 100644 --- a/src/filters/reader/CDXAReader/CDXAReader.cpp +++ b/src/filters/reader/CDXAReader/CDXAReader.cpp @@ -211,7 +211,7 @@ STDMETHODIMP CCDXAReader::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/reader/UDPReader/UDPReader.cpp b/src/filters/reader/UDPReader/UDPReader.cpp index a149be7b3..083f873b1 100644 --- a/src/filters/reader/UDPReader/UDPReader.cpp +++ b/src/filters/reader/UDPReader/UDPReader.cpp @@ -123,7 +123,7 @@ STDMETHODIMP CUDPReader::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/reader/VTSReader/VTSReader.cpp b/src/filters/reader/VTSReader/VTSReader.cpp index 2a1554005..242382e89 100644 --- a/src/filters/reader/VTSReader/VTSReader.cpp +++ b/src/filters/reader/VTSReader/VTSReader.cpp @@ -149,7 +149,7 @@ STDMETHODIMP CVTSReader::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/source/FLICSource/FLICSource.cpp b/src/filters/source/FLICSource/FLICSource.cpp index 68d7c8001..2459bc566 100644 --- a/src/filters/source/FLICSource/FLICSource.cpp +++ b/src/filters/source/FLICSource/FLICSource.cpp @@ -141,7 +141,7 @@ STDMETHODIMP CFLICSource::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* pmt) return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/source/ShoutcastSource/ShoutcastSource.cpp b/src/filters/source/ShoutcastSource/ShoutcastSource.cpp index 7a5da7963..cbd51e111 100644 --- a/src/filters/source/ShoutcastSource/ShoutcastSource.cpp +++ b/src/filters/source/ShoutcastSource/ShoutcastSource.cpp @@ -196,7 +196,7 @@ STDMETHODIMP CShoutcastSource::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/source/SubtitleSource/SubtitleSource.cpp b/src/filters/source/SubtitleSource/SubtitleSource.cpp index 16f7ac79a..37f485c8f 100644 --- a/src/filters/source/SubtitleSource/SubtitleSource.cpp +++ b/src/filters/source/SubtitleSource/SubtitleSource.cpp @@ -201,7 +201,7 @@ STDMETHODIMP CSubtitleSource::GetCurFile(LPOLESTR* ppszFileName, AM_MEDIA_TYPE* return E_OUTOFMEMORY;
}
- wcscpy(*ppszFileName, m_fn);
+ wcscpy_s(*ppszFileName, m_fn.GetLength() + 1, m_fn);
return S_OK;
}
diff --git a/src/filters/switcher/AudioSwitcher/StreamSwitcher.cpp b/src/filters/switcher/AudioSwitcher/StreamSwitcher.cpp index bc1a6bc88..d41bba74a 100644 --- a/src/filters/switcher/AudioSwitcher/StreamSwitcher.cpp +++ b/src/filters/switcher/AudioSwitcher/StreamSwitcher.cpp @@ -617,7 +617,7 @@ HRESULT CStreamSwitcherInputPin::CompleteConnect(IPin* pReceivePin) WCHAR* pName = DNew WCHAR[fileName.GetLength()+1];
if (pName) {
- wcscpy(pName, fileName);
+ wcscpy_s(pName, fileName.GetLength() + 1, fileName);
if (m_pName) {
delete [] m_pName;
}
@@ -1440,7 +1440,7 @@ STDMETHODIMP CStreamSwitcherFilter::Info(long lIndex, AM_MEDIA_TYPE** ppmt, DWOR if (ppszName) {
*ppszName = (WCHAR*)CoTaskMemAlloc((wcslen(pPin->Name())+1)*sizeof(WCHAR));
if (*ppszName) {
- wcscpy(*ppszName, pPin->Name());
+ wcscpy_s(*ppszName, wcslen(pPin->Name()) + 1, pPin->Name());
}
}
|