<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>201215</bug_id>
          
          <creation_ts>2019-08-28 04:44:40 -0700</creation_ts>
          <short_desc>[Win] MiniBrowser crashes in WKURLCopyString if WKPageCopyActiveURL returns null</short_desc>
          <delta_ts>2019-08-28 23:28:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1565686</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-08-28 04:44:40 -0700</bug_when>
    <thetext>[WebKit] WKURLCopyString crashes if null WKURL is passed

WKPageCopyActiveURL returns null WKURL if MiniBrowser.exe is executed with an invalid URL.

.\WebKitBuild\Release\bin64\MiniBrowser.exe http://abcdefg.hijklm

Callstack:

&gt; WTF.dll!WTF::String::isolatedCopy() Line 635	C++
&gt; [Inline Frame] WebKit2.dll!API::String::create(const WTF::String &amp;) Line 47	C++
&gt; [Inline Frame] WebKit2.dll!WebKit::toCopiedAPI(const WTF::String &amp;) Line 165	C++
&gt; WebKit2.dll!WKURLCopyString(const OpaqueWKURL * url) Line 48	C++
&gt; [Inline Frame] MiniBrowserLib.dll!createString(const OpaqueWKURL *) Line 53	C++
&gt; MiniBrowserLib.dll!WebKitBrowserWindow::didChangeActiveURL(const void * clientInfo) Line 331	C++
&gt; WebKit2.dll!WebKit::PageLoadState::callObserverCallback(void(WebKit::PageLoadState::Observer::*)() callback) Line 454	C++
&gt; WebKit2.dll!WebKit::PageLoadState::commitChanges() Line 140	C++
&gt; WebKit2.dll!WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared(WTF::Ref&lt;WebKit::WebProcessProxy,WTF::DumbPtrTraits&lt;WebKit::WebProcessProxy&gt; &gt; &amp;&amp; process, WTF::ObjectIdentifier&lt;enum WebCore::FrameIdentifierType&gt; frameID, const WebCore::SecurityOriginData &amp; frameSecurityOrigin, unsigned __int64 navigationID, const WTF::String &amp; provisionalURL, const WebCore::ResourceError &amp; error, WebCore::WillContinueLoading willContinueLoading, const WebKit::UserData &amp; userData) Line 4181	C++
&gt; WebKit2.dll!WebKit::WebPageProxy::didFailProvisionalLoadForFrame(WTF::ObjectIdentifier&lt;enum WebCore::FrameIdentifierType&gt; frameID, const WebCore::SecurityOriginData &amp; frameSecurityOrigin, unsigned __int64 navigationID, const WTF::String &amp; provisionalURL, const WebCore::ResourceError &amp; error, WebCore::WillContinueLoading willContinueLoading, const WebKit::UserData &amp; userData) Line 4145	C++
&gt; [Inline Frame] WebKit2.dll!IPC::callMemberFunctionImpl(WebKit::WebPageProxy *)	C++
&gt; [Inline Frame] WebKit2.dll!IPC::callMemberFunction(std::tuple&lt;WTF::ObjectIdentifier&lt;enum WebCore::FrameIdentifierType&gt;,WebCore::SecurityOriginData,unsigned __int64,WTF::String,WebCore::ResourceError,enum WebCore::WillContinueLoading,WebKit::UserData&gt; &amp;&amp;)	C++
&gt; WebKit2.dll!IPC::handleMessage&lt;Messages::WebPageProxy::DidFailProvisionalLoadForFrame,WebKit::WebPageProxy,void (__cdecl WebKit::WebPageProxy::*)(WTF::ObjectIdentifier&lt;enum WebCore::FrameIdentifierType&gt;,WebCore::SecurityOriginData const &amp;,unsigned __int64,WTF::String const &amp;,WebCore::ResourceError const &amp;,enum WebCore::WillContinueLoading,WebKit::UserData const &amp;)&gt;(IPC::Decoder &amp; decoder, WebKit::WebPageProxy * object, void(WebKit::WebPageProxy::*)(WTF::ObjectIdentifier&lt;enum WebCore::FrameIdentifierType&gt;, const WebCore::SecurityOriginData &amp;, unsigned __int64, const WTF::String &amp;, const WebCore::ResourceError &amp;, WebCore::WillContinueLoading, const WebKit::UserData &amp;) function) Line 121	C++
&gt; WebKit2.dll!WebKit::WebPageProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 1010	C++
&gt; WebKit2.dll!IPC::MessageReceiverMap::dispatchMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 128	C++
&gt; WebKit2.dll!WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection &amp; connection, IPC::Decoder &amp; decoder) Line 657	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder &amp; decoder) Line 939	C++
&gt; WebKit2.dll!IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder,std::default_delete&lt;IPC::Decoder&gt; &gt; message) Line 993	C++
&gt; WebKit2.dll!IPC::Connection::dispatchIncomingMessages() Line 1097	C++
&gt; [Inline Frame] WebKit2.dll!IPC::Connection::enqueueIncomingMessage::__l2::&lt;lambda_358f200b3b860a7bdb941200db902cbe&gt;::operator()()	C++
&gt; WebKit2.dll!WTF::Detail::CallableWrapper&lt;&lt;lambda_358f200b3b860a7bdb941200db902cbe&gt;,void&gt;::call() Line 52	C++
&gt; [Inline Frame] WTF.dll!WTF::Function&lt;void __cdecl(void)&gt;::operator()()	C++
&gt; WTF.dll!WTF::RunLoop::performWork() Line 108	C++
&gt; [Inline Frame] WTF.dll!WTF::RunLoop::wndProc(HWND__ *) Line 57	C++
&gt; WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39	C++
&gt; [External Code]	
&gt; WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 89	C++
&gt; MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 99	C++
&gt; MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 232	C++
&gt; [External Code]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566076</commentid>
    <comment_count>1</comment_count>
      <attachid>377542</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-08-28 20:33:11 -0700</bug_when>
    <thetext>Created attachment 377542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566115</commentid>
    <comment_count>2</comment_count>
      <attachid>377542</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-08-28 23:27:07 -0700</bug_when>
    <thetext>Comment on attachment 377542
Patch

Clearing flags on attachment: 377542

Committed r249245: &lt;https://trac.webkit.org/changeset/249245&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566116</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-08-28 23:27:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566117</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-28 23:28:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/54825374&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377542</attachid>
            <date>2019-08-28 20:33:11 -0700</date>
            <delta_ts>2019-08-28 23:27:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201215-20190829123310.patch</filename>
            <type>text/plain</type>
            <size>1475</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MjMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzk4OGI5OTIxN2Y1MGY4ZjE3MWIwZGY5OGNiODYyNTRl
MjM3YjcyNC4uMzJhZDA4MWY4MjFmMTdkM2E5NGU5MGExMmUwN2RiYzU1ZTE3NTZmNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTA4LTI4ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dIE1pbmlCcm93c2VyIGNyYXNoZXMgaW4gV0tVUkxDb3B5U3RyaW5n
IGlmIFdLUGFnZUNvcHlBY3RpdmVVUkwgcmV0dXJucyBudWxsCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyMTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5pQnJvd3NlciBjcmFzaGVkIGlmIGl0IHdh
cyBnb2luZyB0byBnbyB0byBhIHVucmVhY2hhYmxlIHBhZ2UKKyAgICAgICAgYmVjYXVzZSBXS1Bh
Z2VDb3B5QWN0aXZlVVJMIHJldHVybmVkIGEgbnVsbHB0ci4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcDoKKyAgICAgICAgKGNyZWF0ZVN0cmluZyk6
IEFkZGVkIG51bGwgY2hlY2tpbmcgb2YgdGhlIGFyZ3VtZW50LgorCiAyMDE5LTA4LTI4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbG9hZGluZyBh
IHdlYiB2aWV3IHdpdGggYSBmaXhlZC13aWR0aCB2aWV3cG9ydCBhbmQgdmFyaWFibGUgY29udGVu
dCB3aWR0aCByZXN0b3JlcyB0aGUgcHJldmlvdXMgcGFnZSBzY2FsZSwgc2hvdWxkbid0CmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAgYi9U
b29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKaW5kZXggMmRlNzY2
ZDNhMmIyYjQyZjY1NGU3ZGIyMTAzOGUzM2EyYmY0YjFiNi4uY2FmYWFhNDE2MWYzMGY3NDUzNjY3
ZjJhZTQ0NThhZDQ1NDk5YTkxZiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dl
YktpdEJyb3dzZXJXaW5kb3cuY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRC
cm93c2VyV2luZG93LmNwcApAQCAtNDksNiArNDksOCBAQCBzdGQ6OndzdHJpbmcgY3JlYXRlU3Ry
aW5nKFdLU3RyaW5nUmVmIHdrU3RyaW5nKQogCiBzdGQ6OndzdHJpbmcgY3JlYXRlU3RyaW5nKFdL
VVJMUmVmIHdrVVJMKQogeworICAgIGlmICghd2tVUkwpCisgICAgICAgIHJldHVybiB7IH07CiAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVybCA9IGFkb3B0V0soV0tVUkxDb3B5U3RyaW5n
KHdrVVJMKSk7CiAgICAgcmV0dXJuIGNyZWF0ZVN0cmluZyh1cmwuZ2V0KCkpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>