From ef1f8e4af93241a6314379608ce69491deb1d473 Mon Sep 17 00:00:00 2001 From: "mats.palmgren%bredband.net" Date: Sat, 23 Sep 2006 22:54:42 +0000 Subject: [PATCH] Don't crash when we have "charset" but not the "=" in the buffer. b=353958 r+sr=bienvenu git-svn-id: svn://10.0.0.236/trunk@212222 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/base/util/nsMsgI18N.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/mozilla/mailnews/base/util/nsMsgI18N.cpp b/mozilla/mailnews/base/util/nsMsgI18N.cpp index b48b5bb67ab..5c5f321b9c4 100644 --- a/mozilla/mailnews/base/util/nsMsgI18N.cpp +++ b/mozilla/mailnews/base/util/nsMsgI18N.cpp @@ -367,16 +367,11 @@ nsMsgI18NParseMetaCharset(nsFileSpec* fileSpec) if (PL_strstr(buffer, "META") && PL_strstr(buffer, "HTTP-EQUIV") && PL_strstr(buffer, "CONTENT-TYPE") && - PL_strstr(buffer, "CHARSET") - ) - { - char *cp = PL_strstr(PL_strstr(buffer, "CHARSET"), "=") + 1; - char seps[] = " \"\'"; - char *token; - char* newStr; - token = nsCRT::strtok(cp, seps, &newStr); - if (token != NULL) - { + PL_strstr(buffer, "CHARSET")) { + char *cp = PL_strstr(PL_strstr(buffer, "CHARSET"), "="); + char *newStr; + char *token = cp ? nsCRT::strtok(cp + 1, " \"\'", &newStr) : nsnull; + if (token) { PL_strncpy(charset, token, sizeof(charset)); charset[sizeof(charset)-1] = '\0';