From d47d0614292801262faa2251d1de5f35b1d832aa Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 26 Oct 2017 07:32:36 +0000 Subject: fixed memory leak; fixed other potential problems git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7645 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp | 1 + src/plugins/Input/vorbis/decoder_vorbis.cpp | 2 ++ src/plugins/Input/wavpack/decoderwavpackfactory.cpp | 10 +++++----- src/plugins/Output/alsa/outputalsa.cpp | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index 36d7bb9ef..9a3f088ad 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -82,6 +82,7 @@ DecoderFFmpeg::DecoderFFmpeg(const QString &path, QIODevice *i) m_channels = 0; c = 0; audioIndex = 0; + m_seekTime = -1; av_init_packet(&m_pkt); av_init_packet(&m_temp_pkt); } diff --git a/src/plugins/Input/vorbis/decoder_vorbis.cpp b/src/plugins/Input/vorbis/decoder_vorbis.cpp index 297a68cd5..34d9ff72c 100644 --- a/src/plugins/Input/vorbis/decoder_vorbis.cpp +++ b/src/plugins/Input/vorbis/decoder_vorbis.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include "decoder_vorbis.h" @@ -77,6 +78,7 @@ DecoderVorbis::DecoderVorbis(const QString &url, QIODevice *i) m_bitrate = 0; m_url = url; len = 0; + memset(&oggfile, 0, sizeof(OggVorbis_File)); } diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp index 4e9f2eb83..2d7da6167 100644 --- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp +++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2016 by Ilya Kotov * + * Copyright (C) 2008-2017 by Ilya Kotov * * forkotov02@ya.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -94,17 +94,17 @@ QList DecoderWavPackFactory::createPlayList(const QString &fileName, if (useMetaData) { cue_len = WavpackGetTagItem (ctx, "cuesheet", NULL, 0); - char *value; if (cue_len) { - value = (char*)malloc (cue_len * 2 + 1); + char *value = (char*)malloc (cue_len * 2 + 1); WavpackGetTagItem (ctx, "cuesheet", value, cue_len + 1); CUEParser parser(value, fileName); list = parser.createPlayList(); + delete info; + info = 0; } else { - char value[200]; memset(value,0,sizeof(value)); WavpackGetTagItem (ctx, "Album", value, sizeof(value)); @@ -130,7 +130,7 @@ QList DecoderWavPackFactory::createPlayList(const QString &fileName, } } - if (cue_len==0) + if (info) { info->setLength((int) WavpackGetNumSamples(ctx)/WavpackGetSampleRate(ctx)); list << info; diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 2c23ac88d..4ee817d1c 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -44,6 +44,7 @@ OutputALSA::OutputALSA() : m_inited(false) m_prebuf_size = 0; m_prebuf_fill = 0; m_can_pause = false; + m_chunk_size = 0; #if (SND_LIB_VERSION >= 0x01001B) m_alsa_channels[SND_CHMAP_NA] = Qmmp::CHAN_NULL; m_alsa_channels[SND_CHMAP_MONO] = Qmmp::CHAN_FRONT_CENTER; -- cgit v1.2.3-13-gbd6f