Changeset 10663 in webkit for trunk/JavaScriptCore/pcre


Ignore:
Timestamp:
Sep 29, 2005, 3:05:12 PM (20 years ago)
Author:
eseidel
Message:

Bug #: 5176
Submitted by: Mitz Pettel <[email protected]>
Reviewed by: darin

Fix JSC memory smasher in TOT.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5176

  • pcre/pcre_exec.c: (match):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/pcre/pcre_exec.c

    r10495 r10663  
    18101810      int dc;
    18111811      ecode += length;
    1812       GETCHARINC(dc, eptr);
     1812      switch (md->end_subject - eptr)
     1813      {
     1814        case 0:
     1815          RRETURN(MATCH_NOMATCH);
     1816        case 1:
     1817          dc = *eptr++;
     1818          if (IS_LEADING_SURROGATE(dc))
     1819            RRETURN(MATCH_NOMATCH);
     1820          break;
     1821        default:
     1822          GETCHARINC(dc, eptr);
     1823      }
    18131824      if (fc != dc) RRETURN(MATCH_NOMATCH);
    18141825#else
     
    18381849      GETUTF8CHARLEN(fc, ecode, length);
    18391850
    1840 #if !PCRE_UTF16
     1851#if PCRE_UTF16
     1852      if (md->end_subject - eptr == 0) RRETURN(MATCH_NOMATCH);
     1853#else
    18411854      if (length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
    18421855#endif
     
    18621875        {
    18631876        int dc;
    1864         GETCHARINC(dc, eptr);
     1877#if PCRE_UTF16
     1878        if (md->end_subject - eptr == 1) {
     1879          dc = *eptr++;
     1880          if (IS_LEADING_SURROGATE(dc))
     1881            RRETURN(MATCH_NOMATCH);
     1882        } else
     1883#endif
     1884          GETCHARINC(dc, eptr);
    18651885        ecode += length;
    18661886
Note: See TracChangeset for help on using the changeset viewer.