From da6c9807ec4380f3d588f824aaf36b2fd05e509f80ffe7cf7dd068962e2444d4 Mon Sep 17 00:00:00 2001 From: Cristian Morales Vega Date: Sun, 23 Jun 2013 18:09:20 +0000 Subject: [PATCH] Accepting request 180469 from home:jirislaby:branches:multimedia:libs - Added-check-if-file-is-open-before-attempting-to-rea.patch: Added check if file is open before attempting to read tags (bnc#826228) - Fixed Urls in .spec OBS-URL: https://build.opensuse.org/request/show/180469 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/taglib?expand=0&rev=58 --- ...ile-is-open-before-attempting-to-rea.patch | 340 ++++++++++++++++++ taglib.changes | 7 + taglib.spec | 7 +- 3 files changed, 352 insertions(+), 2 deletions(-) create mode 100644 Added-check-if-file-is-open-before-attempting-to-rea.patch diff --git a/Added-check-if-file-is-open-before-attempting-to-rea.patch b/Added-check-if-file-is-open-before-attempting-to-rea.patch new file mode 100644 index 0000000..09f0f28 --- /dev/null +++ b/Added-check-if-file-is-open-before-attempting-to-rea.patch @@ -0,0 +1,340 @@ +From: gonemad +Date: Thu, 11 Oct 2012 21:20:03 -0400 +Subject: Added check if file is open before attempting to read tags +Patch-mainline: yes +References: bnc#826228 + +Signed-off-by: Jiri Slaby +--- + taglib/ape/apefile.cpp | 6 ++++-- + taglib/asf/asffile.cpp | 6 ++++-- + taglib/flac/flacfile.cpp | 9 ++++++--- + taglib/it/itfile.cpp | 6 ++++-- + taglib/mod/modfile.cpp | 6 ++++-- + taglib/mp4/mp4file.cpp | 6 ++++-- + taglib/mpc/mpcfile.cpp | 6 ++++-- + taglib/ogg/flac/oggflacfile.cpp | 6 ++++-- + taglib/ogg/speex/speexfile.cpp | 6 ++++-- + taglib/ogg/vorbis/vorbisfile.cpp | 6 ++++-- + taglib/s3m/s3mfile.cpp | 6 ++++-- + taglib/wavpack/wavpackfile.cpp | 6 ++++-- + taglib/xm/xmfile.cpp | 6 ++++-- + 13 files changed, 54 insertions(+), 27 deletions(-) + +diff --git a/taglib/ape/apefile.cpp b/taglib/ape/apefile.cpp +index cb65224..bf6491f 100644 +--- a/taglib/ape/apefile.cpp ++++ b/taglib/ape/apefile.cpp +@@ -90,14 +90,16 @@ APE::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + APE::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + APE::File::~File() +diff --git a/taglib/asf/asffile.cpp b/taglib/asf/asffile.cpp +index 455631f..6a3155a 100644 +--- a/taglib/asf/asffile.cpp ++++ b/taglib/asf/asffile.cpp +@@ -372,14 +372,16 @@ ASF::File::File(FileName file, bool readProperties, Properties::ReadStyle proper + : TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + ASF::File::File(IOStream *stream, bool readProperties, Properties::ReadStyle propertiesStyle) + : TagLib::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + ASF::File::~File() +diff --git a/taglib/flac/flacfile.cpp b/taglib/flac/flacfile.cpp +index c85d959..291c42d 100644 +--- a/taglib/flac/flacfile.cpp ++++ b/taglib/flac/flacfile.cpp +@@ -109,7 +109,8 @@ FLAC::File::File(FileName file, bool readProperties, + TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + FLAC::File::File(FileName file, ID3v2::FrameFactory *frameFactory, +@@ -118,7 +119,8 @@ FLAC::File::File(FileName file, ID3v2::FrameFactory *frameFactory, + { + d = new FilePrivate; + d->ID3v2FrameFactory = frameFactory; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + FLAC::File::File(IOStream *stream, ID3v2::FrameFactory *frameFactory, +@@ -127,7 +129,8 @@ FLAC::File::File(IOStream *stream, ID3v2::FrameFactory *frameFactory, + { + d = new FilePrivate; + d->ID3v2FrameFactory = frameFactory; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + FLAC::File::~File() +diff --git a/taglib/it/itfile.cpp b/taglib/it/itfile.cpp +index 4e04951..4807b9a 100644 +--- a/taglib/it/itfile.cpp ++++ b/taglib/it/itfile.cpp +@@ -45,7 +45,8 @@ IT::File::File(FileName file, bool readProperties, + Mod::FileBase(file), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + IT::File::File(IOStream *stream, bool readProperties, +@@ -53,7 +54,8 @@ IT::File::File(IOStream *stream, bool readProperties, + Mod::FileBase(stream), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + IT::File::~File() +diff --git a/taglib/mod/modfile.cpp b/taglib/mod/modfile.cpp +index 25fc871..8700ca7 100644 +--- a/taglib/mod/modfile.cpp ++++ b/taglib/mod/modfile.cpp +@@ -45,7 +45,8 @@ Mod::File::File(FileName file, bool readProperties, + Mod::FileBase(file), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + Mod::File::File(IOStream *stream, bool readProperties, +@@ -53,7 +54,8 @@ Mod::File::File(IOStream *stream, bool readProperties, + Mod::FileBase(stream), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + Mod::File::~File() +diff --git a/taglib/mp4/mp4file.cpp b/taglib/mp4/mp4file.cpp +index 0218557..6f7e48e 100644 +--- a/taglib/mp4/mp4file.cpp ++++ b/taglib/mp4/mp4file.cpp +@@ -67,14 +67,16 @@ MP4::File::File(FileName file, bool readProperties, AudioProperties::ReadStyle a + : TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, audioPropertiesStyle); ++ if(isOpen()) ++ read(readProperties, audioPropertiesStyle); + } + + MP4::File::File(IOStream *stream, bool readProperties, AudioProperties::ReadStyle audioPropertiesStyle) + : TagLib::File(stream) + { + d = new FilePrivate; +- read(readProperties, audioPropertiesStyle); ++ if(isOpen()) ++ read(readProperties, audioPropertiesStyle); + } + + MP4::File::~File() +diff --git a/taglib/mpc/mpcfile.cpp b/taglib/mpc/mpcfile.cpp +index 519a046..7734eae 100644 +--- a/taglib/mpc/mpcfile.cpp ++++ b/taglib/mpc/mpcfile.cpp +@@ -94,14 +94,16 @@ MPC::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + MPC::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + MPC::File::~File() +diff --git a/taglib/ogg/flac/oggflacfile.cpp b/taglib/ogg/flac/oggflacfile.cpp +index 9d9c303..e523f27 100644 +--- a/taglib/ogg/flac/oggflacfile.cpp ++++ b/taglib/ogg/flac/oggflacfile.cpp +@@ -72,14 +72,16 @@ Ogg::FLAC::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Ogg::FLAC::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Ogg::FLAC::File::~File() +diff --git a/taglib/ogg/speex/speexfile.cpp b/taglib/ogg/speex/speexfile.cpp +index 3a4940a..58f6756 100644 +--- a/taglib/ogg/speex/speexfile.cpp ++++ b/taglib/ogg/speex/speexfile.cpp +@@ -62,14 +62,16 @@ Speex::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Speex::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Speex::File::~File() +diff --git a/taglib/ogg/vorbis/vorbisfile.cpp b/taglib/ogg/vorbis/vorbisfile.cpp +index e2eed9e..a6753f5 100644 +--- a/taglib/ogg/vorbis/vorbisfile.cpp ++++ b/taglib/ogg/vorbis/vorbisfile.cpp +@@ -67,14 +67,16 @@ Vorbis::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Vorbis::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : Ogg::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + Vorbis::File::~File() +diff --git a/taglib/s3m/s3mfile.cpp b/taglib/s3m/s3mfile.cpp +index 7ffdf91..1afe362 100644 +--- a/taglib/s3m/s3mfile.cpp ++++ b/taglib/s3m/s3mfile.cpp +@@ -47,7 +47,8 @@ S3M::File::File(FileName file, bool readProperties, + Mod::FileBase(file), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + S3M::File::File(IOStream *stream, bool readProperties, +@@ -55,7 +56,8 @@ S3M::File::File(IOStream *stream, bool readProperties, + Mod::FileBase(stream), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + S3M::File::~File() +diff --git a/taglib/wavpack/wavpackfile.cpp b/taglib/wavpack/wavpackfile.cpp +index 49f7923..ea5a8f8 100644 +--- a/taglib/wavpack/wavpackfile.cpp ++++ b/taglib/wavpack/wavpackfile.cpp +@@ -86,14 +86,16 @@ WavPack::File::File(FileName file, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(file) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + WavPack::File::File(IOStream *stream, bool readProperties, + Properties::ReadStyle propertiesStyle) : TagLib::File(stream) + { + d = new FilePrivate; +- read(readProperties, propertiesStyle); ++ if(isOpen()) ++ read(readProperties, propertiesStyle); + } + + WavPack::File::~File() +diff --git a/taglib/xm/xmfile.cpp b/taglib/xm/xmfile.cpp +index c311a06..a0890c8 100644 +--- a/taglib/xm/xmfile.cpp ++++ b/taglib/xm/xmfile.cpp +@@ -359,7 +359,8 @@ XM::File::File(FileName file, bool readProperties, + Mod::FileBase(file), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + XM::File::File(IOStream *stream, bool readProperties, +@@ -367,7 +368,8 @@ XM::File::File(IOStream *stream, bool readProperties, + Mod::FileBase(stream), + d(new FilePrivate(propertiesStyle)) + { +- read(readProperties); ++ if(isOpen()) ++ read(readProperties); + } + + XM::File::~File() +-- +1.8.3.1 + diff --git a/taglib.changes b/taglib.changes index 798528e..8f666a4 100644 --- a/taglib.changes +++ b/taglib.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Jun 21 17:45:11 UTC 2013 - jslaby@suse.com + +- Added-check-if-file-is-open-before-attempting-to-rea.patch: Added + check if file is open before attempting to read tags (bnc#826228) +- Fixed Urls in .spec + ------------------------------------------------------------------- Sun Jun 9 04:30:50 UTC 2013 - crrodriguez@opensuse.org diff --git a/taglib.spec b/taglib.spec index ee6372e..037b240 100644 --- a/taglib.spec +++ b/taglib.spec @@ -22,8 +22,8 @@ Release: 0 Summary: Audio Meta-Data Library License: LGPL-2.1+ and MPL-1.1 Group: Productivity/Multimedia/Other -Url: http://ktown.kde.org/~wheeler/taglib/ -Source0: https://github.com/downloads/taglib/taglib/%{name}-%{version}.tar.gz +Url: http://taglib.github.io/ +Source0: http://taglib.github.io/releases/taglib-%{version}.tar.gz Source1: %{name}.desktop Source100: baselibs.conf # This patch is to fix bnc#814814. @@ -33,6 +33,8 @@ Patch1: taglib-1.7.2-doxygen.patch Patch2: taglib-1.8-version_fix.patch # Get example executables to build without rpath Patch3: taglib-1.8-strip-rpath.patch +# PATCH-FIX-UPSTREAM Added-check-if-file-is-open-before-attempting-to-rea.patch +Patch4: Added-check-if-file-is-open-before-attempting-to-rea.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: doxygen @@ -108,6 +110,7 @@ This package contains development files for taglib. %patch1 -p1 %patch2 -p1 %patch3 +%patch4 -p1 %build mkdir build