Don't crash when we have "charset" but not the "=" in the buffer. b=353958 r+sr=bienvenu

This commit is contained in:
mats.palmgren%bredband.net 2006-09-23 22:54:42 +00:00
Родитель 6a911cbeeb
Коммит 2228ac2345
1 изменённых файлов: 5 добавлений и 10 удалений

Просмотреть файл

@ -367,16 +367,11 @@ nsMsgI18NParseMetaCharset(nsFileSpec* fileSpec)
if (PL_strstr(buffer, "META") && if (PL_strstr(buffer, "META") &&
PL_strstr(buffer, "HTTP-EQUIV") && PL_strstr(buffer, "HTTP-EQUIV") &&
PL_strstr(buffer, "CONTENT-TYPE") && PL_strstr(buffer, "CONTENT-TYPE") &&
PL_strstr(buffer, "CHARSET") PL_strstr(buffer, "CHARSET")) {
) char *cp = PL_strstr(PL_strstr(buffer, "CHARSET"), "=");
{ char *newStr;
char *cp = PL_strstr(PL_strstr(buffer, "CHARSET"), "=") + 1; char *token = cp ? nsCRT::strtok(cp + 1, " \"\'", &newStr) : nsnull;
char seps[] = " \"\'"; if (token) {
char *token;
char* newStr;
token = nsCRT::strtok(cp, seps, &newStr);
if (token != NULL)
{
PL_strncpy(charset, token, sizeof(charset)); PL_strncpy(charset, token, sizeof(charset));
charset[sizeof(charset)-1] = '\0'; charset[sizeof(charset)-1] = '\0';