]> granicus.if.org Git - taglib/commitdiff
Added a missing check if an Opus file is open
authorTsuda Kageyu <tsuda.kageyu@gmail.com>
Sat, 22 Jun 2013 07:12:57 +0000 (16:12 +0900)
committerTsuda Kageyu <tsuda.kageyu@gmail.com>
Sat, 22 Jun 2013 07:12:57 +0000 (16:12 +0900)
taglib/ogg/opus/opusfile.cpp

index 8d3af7afb7855f805eb990594abfeff24c0f093d..91ec5a09c5a02b2bf8ffeb40cdf68a9871f814bc 100644 (file)
@@ -59,18 +59,20 @@ public:
 // public members
 ////////////////////////////////////////////////////////////////////////////////
 
-Opus::File::File(FileName file, bool readProperties,
-                   Properties::ReadStyle propertiesStyle) : Ogg::File(file)
+Opus::File::File(FileName file, bool readProperties, Properties::ReadStyle propertiesStyle) 
+  : Ogg::File(file)
+  , d(new FilePrivate())
 {
-  d = new FilePrivate;
-  read(readProperties, propertiesStyle);
+  if(isOpen())
+    read(readProperties, propertiesStyle);
 }
 
-Opus::File::File(IOStream *stream, bool readProperties,
-                   Properties::ReadStyle propertiesStyle) : Ogg::File(stream)
+Opus::File::File(IOStream *stream, bool readProperties, Properties::ReadStyle propertiesStyle) 
+  : Ogg::File(stream)
+  , d(new FilePrivate())
 {
-  d = new FilePrivate;
-  read(readProperties, propertiesStyle);
+  if(isOpen())
+    read(readProperties, propertiesStyle);
 }
 
 Opus::File::~File()