Index: src/OFXMLParser.m ================================================================== --- src/OFXMLParser.m +++ src/OFXMLParser.m @@ -394,10 +394,11 @@ size_t i, last, length; int PIState = 0; OFString *attribute = nil; OFMutableString *value = nil; char piDelimiter = 0; + bool hasVersion = false; if (!_acceptProlog) return false; _acceptProlog = false; @@ -446,13 +447,16 @@ value = [OFMutableString stringWithUTF8String: cString + last length: i - last]; - if ([attribute isEqual: @"version"]) + if ([attribute isEqual: @"version"]) { if (![value hasPrefix: @"1."]) return false; + + hasVersion = true; + } if ([attribute isEqual: @"encoding"]) { [value lowercase]; if ([value isEqual: @"utf-8"]) @@ -475,11 +479,11 @@ break; } } - if (PIState != 0) + if (PIState != 0 || !hasVersion) return false; return true; }