aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Input/flac/decoder_flac.cpp10
-rw-r--r--src/plugins/Input/flac/decoder_flac.h2
2 files changed, 5 insertions, 7 deletions
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp
index fa92ed722..bd1a706b8 100644
--- a/src/plugins/Input/flac/decoder_flac.cpp
+++ b/src/plugins/Input/flac/decoder_flac.cpp
@@ -263,9 +263,6 @@ DecoderFLAC::DecoderFLAC(QObject *parent, DecoderFactory *d, QIODevice *i, Outpu
inited = FALSE;
m_data = 0;
m_path = path;
-
- m_offset = 0;
- m_length = 0;
m_data = new flac_data;
m_data->decoder = NULL;
data()->input = i;
@@ -312,8 +309,11 @@ bool DecoderFLAC::initialize()
m_cue_parser = new CUEParser(xiph_comment->fieldListMap()["CUESHEET"].toString()
.toCString(TRUE), p);
int track = m_path.section("#", -1).toInt();
- m_offset = m_cue_parser->offset(track);
- m_length = m_cue_parser->length(track);
+ if(track > m_cue_parser->count())
+ {
+ qWarning("DecoderFLAC: invalid cuesheet xiph comment");
+ return FALSE;
+ }
data()->input = new QFile(p);
//send metadata
QMap<Qmmp::MetaData, QString> metaData = m_cue_parser->info(track)->metaData();
diff --git a/src/plugins/Input/flac/decoder_flac.h b/src/plugins/Input/flac/decoder_flac.h
index 9d60860c2..f99c94fa3 100644
--- a/src/plugins/Input/flac/decoder_flac.h
+++ b/src/plugins/Input/flac/decoder_flac.h
@@ -92,8 +92,6 @@ private:
qint64 m_totalTime;
QString m_path;
- qint64 m_offset;
- qint64 m_length;
bool inited;
CUEParser *m_cue_parser;
QString m_nextUrl;