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:
authorSpec-Chum <spec-chum@users.sourceforge.net>2010-02-18 02:05:35 +0300
committerSpec-Chum <spec-chum@users.sourceforge.net>2010-02-18 02:05:35 +0300
commit71f703c7c3348fe7981caf0ca5285d9d2b1a99a9 (patch)
tree8a2315e99de83d0507270d934326b81c4f4a26cb /src/filters/reader
parent4f157e81f327373d38ba86287d8fe439cec5b199 (diff)
Fix buffer overrun due to number of characters/number of bytes mismatch pt2
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1669 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/reader')
-rw-r--r--src/filters/reader/CDDAReader/CDDAReader.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/filters/reader/CDDAReader/CDDAReader.cpp b/src/filters/reader/CDDAReader/CDDAReader.cpp
index 67052b96d..0059115fb 100644
--- a/src/filters/reader/CDDAReader/CDDAReader.cpp
+++ b/src/filters/reader/CDDAReader/CDDAReader.cpp
@@ -306,17 +306,18 @@ bool CCDDAStream::Load(const WCHAR* fnw)
if(pDesc->TrackNumber > m_TOC.LastTrack)
continue;
- const int len = countof(pDesc->Text);
+ const int lenU = countof(pDesc->Text);
+ const int lenW = countof(pDesc->WText);
CString text = !pDesc->Unicode
- ? CString(CStringA((CHAR*)pDesc->Text, len))
- : CString(CStringW((WCHAR*)pDesc->WText, len));
+ ? CString(CStringA((CHAR*)pDesc->Text, lenU))
+ : CString(CStringW((WCHAR*)pDesc->WText, lenW));
int tlen = text.GetLength();
CString tmp = (tlen < 12-1)
? (!pDesc->Unicode
- ? CString(CStringA((CHAR*)pDesc->Text+tlen+1, len-(tlen+1)))
- : CString(CStringW((WCHAR*)pDesc->WText+tlen+1, len-(tlen+1))))
+ ? CString(CStringA((CHAR*)pDesc->Text+tlen+1, lenU-(tlen+1)))
+ : CString(CStringW((WCHAR*)pDesc->WText+tlen+1, lenW-(tlen+1))))
: _T("");
if((pDesc->PackType -= 0x80) >= 0x10)