Changeset 214943 in webkit


Ignore:
Timestamp:
Apr 5, 2017 6:19:57 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

[WinCairo] Invalid address specified to RtlValidateHeap at std::ctype<char>::_Tidy() when finishing MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=157067

Patch by Fujii Hironori <Fujii Hironori> on 2017-04-05
Reviewed by Per Arne Vollan.

WebKit is compiled with /MT switch to use static CRT on Windows.
But, WinCairo port does not link the static CRT by specifying
/NODEFAULTLIB:LIBCMT and /NODEFAULTLIB:LIBCMTD switches.
Eventually, a dynamically linked CRT is linked. This causes
potential heap corruption.

  • PlatformWin.cmake: Do not set /NODEFAULTLIB:LIBCMT and

/NODEFAULTLIB:LIBCMTD, but /NODEFAULTLIB:MSVCRT and
/NODEFAULTLIB:MSVCRTD as well as AppleWin port does

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r214680 r214943  
     12017-04-05  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        [WinCairo] Invalid address specified to RtlValidateHeap at std::ctype<char>::_Tidy() when finishing MiniBrowser
     4        https://bugs.webkit.org/show_bug.cgi?id=157067
     5
     6        Reviewed by Per Arne Vollan.
     7
     8        WebKit is compiled with /MT switch to use static CRT on Windows.
     9        But, WinCairo port does not link the static CRT by specifying
     10        /NODEFAULTLIB:LIBCMT and /NODEFAULTLIB:LIBCMTD switches.
     11        Eventually, a dynamically linked CRT is linked.  This causes
     12        potential heap corruption.
     13
     14        * PlatformWin.cmake: Do not set /NODEFAULTLIB:LIBCMT and
     15        /NODEFAULTLIB:LIBCMTD, but /NODEFAULTLIB:MSVCRT and
     16        /NODEFAULTLIB:MSVCRTD as well as AppleWin port does
     17
    1182017-03-31  Brady Eidson  <beidson@apple.com>
    219
  • trunk/Source/WebKit/PlatformWin.cmake

    r209665 r214943  
    471471set(CMAKE_CXX_STANDARD_LIBRARIES "")
    472472
    473 if (${WTF_PLATFORM_WIN_CAIRO})
    474     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT /NODEFAULTLIB:LIBCMTD")
    475 else ()
    476     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:MSVCRTD")
    477 endif ()
     473set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:MSVCRTD")
    478474
    479475# If this directory isn't created before midl runs and attempts to output WebKit.tlb,
Note: See TracChangeset for help on using the changeset viewer.