diff --git a/modules/demux/hls/playlist/Tags.cpp b/modules/demux/hls/playlist/Tags.cpp index f0ef338824..ef007ff3fe 100644 --- a/modules/demux/hls/playlist/Tags.cpp +++ b/modules/demux/hls/playlist/Tags.cpp @@ -216,7 +216,7 @@ void AttributesTag::parseAttributes(const std::string &field) break; } else /* out of range */ - return; + iss.get(); } std::string attrname = oss.str(); @@ -240,6 +240,11 @@ void AttributesTag::parseAttributes(const std::string &field) { b_quoted = !b_quoted; } + else if(!b_quoted && (c < '-' || c > 'z')) /* out of range */ + { + iss.get(); + continue; + } if(!iss.eof()) oss.put((char)iss.get());