rem: && strncmp(&buf[pos+2], mBoundary.data(), blen) == 0) {
add: && strncmp(&buf[pos+2], mBoundary.data(), blen) == 0 && isOnlyWhiteSpaceOrDashesUntilEndOfLine( buf + pos + blen + 2, buf + endPos ) ) {
context: int DwBodyParser::FindBoundary(size_t aStartPos, size_t* aBoundaryStart,    size_t* aBoundaryEnd, size_t* aIsFinal) const{    // Assume the starting position is the beginning of a line    const char* buf = mString.data();    size_t pos = aStartPos;    size_t endPos = mString.length();    size_t blen = mBoundary.length();    // Search for the first boundary.    // The leading CR LF ('\n') is part of the boundary, but if there is    // no preamble, there may be no leading CR LF ('\n').    // The case of no leading CR LF ('\n') is a special case that will occur    // only when '-' is the first character of the body.    if (buf[pos] == '-'        && pos+blen+1 < endPos        && buf[pos+1] == '-'        && strncmp(&buf[pos+2], mBoundary.data(), blen) == 0) {        *aBoundaryStart = pos;        pos += blen + 2;        // Check for final boundary        if (pos+1 < endPos            && buf[pos] == '-'            && buf[pos+1] == '-') {            pos += 2;            *aIsFinal = 1;        }        else {            *aIsFinal = 0;        }        // Advance position past end of line        while (pos < endPos) {            if (buf[pos] == '\n') {                ++pos;                break;            }            ++pos;        }        *aBoundaryEnd = pos;        return kParseSuccess;    }    int isFound = 0;    while (pos+blen+2 < endPos) {        // Case of leading LF        if (buf[pos] == '\n'            && buf[pos+1] == '-'            && buf[pos+2] == '-'            && strncmp(&buf[pos+3], mBoundary.data(), blen) == 0	    && isOnlyWhiteSpaceOrDashesUntilEndOfLine( buf + pos + blen + 3, buf + endPos ) ) {            *aBoundaryStart = pos;            pos += blen + 3;            isFound = 1;        }        // Case of leading CR LF        else if (buf[pos] == '\r'            && buf[pos+1] == '\n'            && buf[pos+2] == '-'            && pos+blen+3 < endPos            && buf[pos+3] == '-'            && strncmp(&buf[pos+4], mBoundary.data(), blen) == 0	    && isOnlyWhiteSpaceOrDashesUntilEndOfLine( buf + pos + blen + 4, buf + endPos ) ) {            *aBoundaryStart = pos;            pos += blen + 4;            isFound = 1;        }        if (isFound) {            // Check for final boundary            if (pos < endPos                && buf[pos] == '-') {                // NOTE: Since we must be fault tolerant for being able to                //       understand messaged that were damaged during                //       transportation we now accept final boundaries                //       ending with "-" instead of "--".                //       (khz, 12.06.2002)                pos += 1;                *aIsFinal = 1;                // if there *is* the 2nd '-' we of course process it                if (pos+1 < endPos                    && buf[pos+1] == '-') {                    pos += 1;                }            }            else {                *aIsFinal = 0;            }            // Advance position past end of line            while (pos < endPos) {                if (buf[pos] == '\n') {                    ++pos;                    break;                }                ++pos;            }            *aBoundaryEnd = pos;            return kParseSuccess;        }        ++pos;    }    // Exceptional case: no boundary found    *aBoundaryStart = *aBoundaryEnd = mString.length();    *aIsFinal = 1;    return kParseFail;}