summaryrefslogtreecommitdiff
path: root/libs/ardour/audiofile_tagger.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-07-28 00:44:50 +0200
committerRobin Gareus <robin@gareus.org>2015-07-28 00:45:09 +0200
commit2a0365cbef41da195e8ed115d29ab1c8713267e1 (patch)
tree2e685b1fcc2ec160e1b1101ec9f8e1e848ff6ee9 /libs/ardour/audiofile_tagger.cc
parentab4263bff96a727f97b20186c17c8c819fb8fe82 (diff)
don't crash if taglib cannot open file
Diffstat (limited to 'libs/ardour/audiofile_tagger.cc')
-rw-r--r--libs/ardour/audiofile_tagger.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/audiofile_tagger.cc b/libs/ardour/audiofile_tagger.cc
index 61a05d49ce..e2d81176e1 100644
--- a/libs/ardour/audiofile_tagger.cc
+++ b/libs/ardour/audiofile_tagger.cc
@@ -43,6 +43,16 @@ bool
AudiofileTagger::tag_file (std::string const & filename, SessionMetadata const & metadata)
{
TagLib::FileRef file (filename.c_str());
+ if (file.isNull()) {
+ std::cerr << "TagLib::FileRef is null for file" << filename << std::endl;
+ return true; // continue anyway?!
+ }
+
+ if (!file.tag()) {
+ std::cerr << "TagLib::Tag is null for file" << filename << std::endl;
+ return true; // continue anyway?!
+ }
+
TagLib::Tag & tag (*file.tag());
tag_generic (tag, metadata);