<?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>200184</bug_id>
          
          <creation_ts>2019-07-26 16:45:25 -0700</creation_ts>
          <short_desc>Add a missing null check to ShareableBitmap::makeCGImageCopy()</short_desc>
          <delta_ts>2022-07-24 11:34:14 -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>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200185</see_also>
          <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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>njar09</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1556282</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 16:45:25 -0700</bug_when>
    <thetext>ShareableBitmap::makeCGImageCopy() should have a null check for when createGraphicsContext() could return a nil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556283</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 16:45:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/53572444&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556294</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 17:10:28 -0700</bug_when>
    <thetext>It&apos;s also possible that m_data of GraphicsContext to be null. Tracking this issue in the bug 200185.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556296</commentid>
    <comment_count>3</comment_count>
      <attachid>375002</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 17:13:39 -0700</bug_when>
    <thetext>Created attachment 375002
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556298</commentid>
    <comment_count>4</comment_count>
      <attachid>375002</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-26 17:26:41 -0700</bug_when>
    <thetext>Comment on attachment 375002
Fixes the bug

What about convertCGImageToBitmap()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556300</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 17:30:02 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 375002 [details]
&gt; Fixes the bug
&gt; 
&gt; What about convertCGImageToBitmap()?

Sure, I&apos;ll add the check there too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556302</commentid>
    <comment_count>6</comment_count>
      <attachid>375004</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 17:31:07 -0700</bug_when>
    <thetext>Created attachment 375004
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556303</commentid>
    <comment_count>7</comment_count>
      <attachid>375002</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-26 17:31:50 -0700</bug_when>
    <thetext>Comment on attachment 375002
Fixes the bug

I think you should make ShareableBitmap::createGraphicsContext() return nullptr and fix the ~10 call sites that we care about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556304</commentid>
    <comment_count>8</comment_count>
      <attachid>375004</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-26 17:32:24 -0700</bug_when>
    <thetext>Comment on attachment 375004
Patch for landing

I think you should make ShareableBitmap::createGraphicsContext() return nullptr and fix the ~10 call sites that we care about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1556338</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-26 20:10:02 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #8)
&gt; Comment on attachment 375004 [details]
&gt; Patch for landing
&gt; 
&gt; I think you should make ShareableBitmap::createGraphicsContext() return
&gt; nullptr and fix the ~10 call sites that we care about.

That&apos;s done in https://bugs.webkit.org/show_bug.cgi?id=200185</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375002</attachid>
            <date>2019-07-26 17:13:39 -0700</date>
            <delta_ts>2019-07-26 17:31:50 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-200184-20190726171338.patch</filename>
            <type>text/plain</type>
            <size>2353</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDc4ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA3LTI2ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIG1pc3NpbmcgbnVsbCBjaGVj
ayB0byBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAxODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIG51bGwgY2hlY2sgdG8gbWFr
ZUNHSW1hZ2VDb3B5IHRvIHdoZW4gZWl0aGVyIEdyYXBoaWNzQ29udGV4dCBvciBpdHMgcGxhdGZv
cm0gY29udGV4dCBpcyBudWxsLgorICAgICAgICBBZGRlZCB0aGUgc2FtZSBwbGF0Zm9ybSBjb250
ZXh0IG51bGwgY2hlY2sgdG8gY29udmVydEltYWdlVG9CaXRtYXAgc2luY2UgdGhlIGNyYXNoIGlz
IHN0aWxsIGhhcHBlbmluZyBhZnRlciByMjQ3MTM0LgorCisgICAgICAgICogU2hhcmVkL2NnL1No
YXJlYWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpt
YWtlQ0dJbWFnZUNvcHkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFj
L1dlYkRyYWdDbGllbnRNYWMubW06CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRJbWFnZVRvQml0
bWFwKToKKwogMjAxOS0wNy0yNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgog
CiAgICAgICAgIE5hdmlnYXRpb25TT0F1dGhvcml6YXRpb25TZXNzaW9uIHNob3VsZCBjaGVjayB0
aGUgYWN0aXZlIFVSTCBvZiB0aGUgcmVzcG9uZGluZyBwYWdlIGFmdGVyIHdha2luZyB1cCBmcm9t
IHdhaXRpbmcKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENH
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRt
YXBDRy5jcHAJKHJldmlzaW9uIDI0Nzg4MikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1No
YXJlYWJsZUJpdG1hcENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDYgKzExNCw5IEBAIHZv
aWQgU2hhcmVhYmxlQml0bWFwOjpwYWludChXZWJDb3JlOjpHcmEKIFJldGFpblB0cjxDR0ltYWdl
UmVmPiBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpCiB7CiAgICAgYXV0byBncmFw
aGljc0NvbnRleHQgPSBjcmVhdGVHcmFwaGljc0NvbnRleHQoKTsKKyAgICBpZiAoIWdyYXBoaWNz
Q29udGV4dCB8fCAhZ3JhcGhpY3NDb250ZXh0LT5oYXNQbGF0Zm9ybUNvbnRleHQoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBh
ZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZUltYWdlKGdyYXBoaWNzQ29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCkpKTsKICAgICByZXR1cm4gaW1hZ2U7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJE
cmFnQ2xpZW50TWFjLm1tCShyZXZpc2lvbiAyNDc4ODIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNvbnZl
cnRJbQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0
ID0gYml0bWFwLT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKTsKLSAgICBpZiAoIWdyYXBoaWNzQ29u
dGV4dCkKKyAgICBpZiAoIWdyYXBoaWNzQ29udGV4dCB8fCAhZ3JhcGhpY3NDb250ZXh0LT5oYXNQ
bGF0Zm9ybUNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBSZXRhaW5Q
dHI8TlNHcmFwaGljc0NvbnRleHQ+IHNhdmVkQ29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBj
dXJyZW50Q29udGV4dF07Cg==
</data>
<flag name="review"
          id="390801"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375004</attachid>
            <date>2019-07-26 17:31:07 -0700</date>
            <delta_ts>2019-07-28 10:07:31 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200184-20190726173106.patch</filename>
            <type>text/plain</type>
            <size>2900</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDc4ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE5LTA3LTI2ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIG1pc3NpbmcgbnVsbCBjaGVj
ayB0byBTaGFyZWFibGVCaXRtYXA6Om1ha2VDR0ltYWdlQ29weSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAxODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgQWRkZWQgYSBudWxsIGNoZWNrIHRvIG1ha2VD
R0ltYWdlQ29weSB0byB3aGVuIGVpdGhlciBHcmFwaGljc0NvbnRleHQgb3IgaXRzIHBsYXRmb3Jt
IGNvbnRleHQgaXMgbnVsbC4KKyAgICAgICAgQWRkZWQgdGhlIHNhbWUgcGxhdGZvcm0gY29udGV4
dCBudWxsIGNoZWNrIHRvIGNvbnZlcnRJbWFnZVRvQml0bWFwIGFuZCBjb252ZXJ0Q0dJbWFnZVRv
Qml0bWFwCisgICAgICAgIHNpbmNlIHRoZSBjcmFzaCBpbnRlbmRlZWQgdG8gYmUgZml4ZWQgaW4g
cjI0NzEzNCBpcyBzdGlsbCBoYXBwZW5pbmcuCisKKyAgICAgICAgKiBTaGFyZWQvY2cvU2hhcmVh
YmxlQml0bWFwQ0cuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om1ha2VD
R0ltYWdlQ29weSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2Vi
RHJhZ0NsaWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydEltYWdlVG9CaXRtYXAp
OgorICAgICAgICAoV2ViS2l0Ojpjb252ZXJ0Q0dJbWFnZVRvQml0bWFwKToKKwogMjAxOS0wNy0y
NiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIE5hdmlnYXRp
b25TT0F1dGhvcml6YXRpb25TZXNzaW9uIHNob3VsZCBjaGVjayB0aGUgYWN0aXZlIFVSTCBvZiB0
aGUgcmVzcG9uZGluZyBwYWdlIGFmdGVyIHdha2luZyB1cCBmcm9tIHdhaXRpbmcKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAJKHJldmlzaW9u
IDI0Nzg4MikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDYgKzExNCw5IEBAIHZvaWQgU2hhcmVhYmxlQml0bWFw
OjpwYWludChXZWJDb3JlOjpHcmEKIFJldGFpblB0cjxDR0ltYWdlUmVmPiBTaGFyZWFibGVCaXRt
YXA6Om1ha2VDR0ltYWdlQ29weSgpCiB7CiAgICAgYXV0byBncmFwaGljc0NvbnRleHQgPSBjcmVh
dGVHcmFwaGljc0NvbnRleHQoKTsKKyAgICBpZiAoIWdyYXBoaWNzQ29udGV4dCB8fCAhZ3JhcGhp
Y3NDb250ZXh0LT5oYXNQbGF0Zm9ybUNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBhZG9wdENGKENHQml0bWFwQ29u
dGV4dENyZWF0ZUltYWdlKGdyYXBoaWNzQ29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCkpKTsKICAg
ICByZXR1cm4gaW1hZ2U7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCShy
ZXZpc2lvbiAyNDc4ODIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDcg
QEAgc3RhdGljIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNvbnZlcnRJbQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0ID0gYml0bWFwLT5jcmVhdGVH
cmFwaGljc0NvbnRleHQoKTsKLSAgICBpZiAoIWdyYXBoaWNzQ29udGV4dCkKKyAgICBpZiAoIWdy
YXBoaWNzQ29udGV4dCB8fCAhZ3JhcGhpY3NDb250ZXh0LT5oYXNQbGF0Zm9ybUNvbnRleHQoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBSZXRhaW5QdHI8TlNHcmFwaGljc0NvbnRl
eHQ+IHNhdmVkQ29udGV4dCA9IFtOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF07CkBA
IC0xODQsNiArMTg0LDggQEAgc3RhdGljIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNvbnZlcnRD
RwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0ID0g
Yml0bWFwLT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKTsKKyAgICBpZiAoIWdyYXBoaWNzQ29udGV4
dCB8fCAhZ3JhcGhpY3NDb250ZXh0LT5oYXNQbGF0Zm9ybUNvbnRleHQoKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgVUlHcmFwaGljc1B1c2hDb250ZXh0KGdyYXBoaWNzQ29udGV4dC0+
cGxhdGZvcm1Db250ZXh0KCkpOwogICAgIENHQ29udGV4dERyYXdJbWFnZShncmFwaGljc0NvbnRl
eHQtPnBsYXRmb3JtQ29udGV4dCgpLCBDR1JlY3RNYWtlKDAsIDAsIHNpemUud2lkdGgoKSwgc2l6
ZS5oZWlnaHQoKSksIGltYWdlKTsKICAgICBVSUdyYXBoaWNzUG9wQ29udGV4dCgpOwo=
</data>
<flag name="review"
          id="390802"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>