[webkit-changes] [WebKit/WebKit] 548b60: ASAN_TRAP | Yarr::CharacterClassConstructor::unico...

Michael Saboff noreply at github.com
Mon Oct 28 23:01:31 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 548b60525e35dd2b448520b213a332b83d001e1e
      https://github.com/WebKit/WebKit/commit/548b60525e35dd2b448520b213a332b83d001e1e
  Author: Michael Saboff <msaboff at apple.com>
  Date:   2024-10-28 (Mon, 28 Oct 2024)

  Changed paths:
    M JSTests/stress/regexp-vflag-property-of-strings.js
    M Source/JavaScriptCore/yarr/YarrPattern.cpp

  Log Message:
  -----------
  ASAN_TRAP | Yarr::CharacterClassConstructor::unicodeOpSorted due to out of order Unicode Case Folding
https://bugs.webkit.org/show_bug.cgi?id=282200
rdar://138178588

Reviewed by Mark Lam.

Certain ASCII characters can introduce Unicode characters (and vice versa) when we add all the
case variations in a case insensitive regex.  This leads to incorrect behavior in performSetOpWithMatches,
since one function it calls, unicodeOpSorted(), assume that its matches argument is in sorted order.

Renamed asciiOpSorted() to asciiOp(), since it doesn't care that its matches vector is sorted.

Added two new tests added to regexp-vflag-property-of-strings.js.

* JSTests/stress/regexp-vflag-property-of-strings.js:
* Source/JavaScriptCore/yarr/YarrPattern.cpp:
(JSC::Yarr::CharacterClassConstructor::performSetOpWithMatches):
(JSC::Yarr::CharacterClassConstructor::asciiOp):
(JSC::Yarr::CharacterClassConstructor::asciiOpSorted): Deleted.

Canonical link: https://commits.webkit.org/285819@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list