| Index: net/base/mime_sniffer.cc
|
| diff --git a/net/base/mime_sniffer.cc b/net/base/mime_sniffer.cc
|
| index ef2e27030bb5f642477362def29a683e5ad3a544..61ef948211059db1857f10df3cf5b9386a7eaaf3 100644
|
| --- a/net/base/mime_sniffer.cc
|
| +++ b/net/base/mime_sniffer.cc
|
| @@ -612,12 +612,14 @@ static bool SniffXML(const char* content,
|
| if (!pos)
|
| return false;
|
|
|
| - if (base::strncasecmp(pos, "<?xml", sizeof("<?xml") - 1) == 0) {
|
| + if ((pos + sizeof("<?xml") - 1 <= end) &&
|
| + (base::strncasecmp(pos, "<?xml", sizeof("<?xml") - 1) == 0)) {
|
| // Skip XML declarations.
|
| ++pos;
|
| continue;
|
| - } else if (base::strncasecmp(pos, "<!DOCTYPE",
|
| - sizeof("<!DOCTYPE") - 1) == 0) {
|
| + } else if ((pos + sizeof("<!DOCTYPE") - 1 <= end) &&
|
| + (base::strncasecmp(pos, "<!DOCTYPE", sizeof("<!DOCTYPE") - 1) ==
|
| + 0)) {
|
| // Skip DOCTYPE declarations.
|
| ++pos;
|
| continue;
|
|
|