]> granicus.if.org Git - taglib/commitdiff
Restrict url frame generation to W??? Frames to prevent known non-text non-url frameI...
authorrsjtdrjgfuzkfg <rsjtdrjgfuzkfg@abwesend.de>
Mon, 8 Oct 2012 17:18:20 +0000 (19:18 +0200)
committerrsjtdrjgfuzkfg <rsjtdrjgfuzkfg@abwesend.de>
Mon, 8 Oct 2012 18:19:12 +0000 (20:19 +0200)
taglib/mpeg/id3v2/id3v2frame.cpp

index 3a5463f52e7ff768f035af7cd1e4bd65d1543503..e6d01bdb3ae1b14cd7c6f3b2794e6c296359ea47 100644 (file)
@@ -119,7 +119,7 @@ Frame *Frame::createTextualFrame(const String &key, const StringList &values) //
       TextIdentificationFrame *frame = new TextIdentificationFrame(frameID, String::UTF8);
       frame->setText(values);
       return frame;
-    } else if(values.size() == 1){  // URL frame (not WXXX); support only one value
+    } else if((frameID[0] == 'W') && (values.size() == 1)){  // URL frame (not WXXX); support only one value
         UrlLinkFrame* frame = new UrlLinkFrame(frameID);
         frame->setUrl(values.front());
         return frame;
@@ -143,7 +143,9 @@ Frame *Frame::createTextualFrame(const String &key, const StringList &values) //
   // -COMMENT: depending on the number of values, use COMM or TXXX (with description=COMMENT)
   if((key == "COMMENT" || key.startsWith(commentPrefix)) && values.size() == 1){
     CommentsFrame *frame = new CommentsFrame(String::UTF8);
-    frame->setDescription(key == "COMMENT" ? key : key.substr(commentPrefix.size()));
+    if (key != "COMMENT"){
+      frame->setDescription(key.substr(commentPrefix.size()));
+    }
     frame->setText(values.front());
     return frame;
   }