<?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>121230</bug_id>
          
          <creation_ts>2013-09-12 09:38:22 -0700</creation_ts>
          <short_desc>SharedBuffer::createCFData should return RetainPtr&lt;CFDataRef&gt;</short_desc>
          <delta_ts>2013-09-12 10:37:31 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>928337</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-12 09:38:22 -0700</bug_when>
    <thetext>SharedBuffer::createCFData should return RetainPtr&lt;CFDataRef&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928338</commentid>
    <comment_count>1</comment_count>
      <attachid>211436</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-12 09:39:25 -0700</bug_when>
    <thetext>Created attachment 211436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928340</commentid>
    <comment_count>2</comment_count>
      <attachid>211436</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-12 09:40:47 -0700</bug_when>
    <thetext>Comment on attachment 211436
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=211436&amp;action=review

&gt; Source/WebCore/platform/mac/SharedBufferMac.mm:109
&gt; +    return adoptCF((CFDataRef)adoptNS([[WebCoreSharedBufferData alloc] initWithSharedBuffer:this]).leakRef());

We’ve got to find a better idiom for toll free bridging with RetainPtr than this. It destroys the rule of “look for leakRef” to find bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928371</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-12 10:37:31 -0700</bug_when>
    <thetext>Committed r155629: &lt;http://trac.webkit.org/changeset/155629&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211436</attachid>
            <date>2013-09-12 09:39:25 -0700</date>
            <delta_ts>2013-09-12 09:40:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121230-20130912093924.patch</filename>
            <type>text/plain</type>
            <size>11199</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcxMTMyMmM3YTkxNjQw
ZDZhNmFjZDQ2ZTIxYjQ2NjYzNWNiYzFjZS4uNGYwNmJjY2FmNGU1NmQ4OWRiZTNiNmZmZGQ2OTIy
N2U0NGVmOGI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA5LTEyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkQnVmZmVy
OjpjcmVhdGVDRkRhdGEgc2hvdWxkIHJldHVybiBSZXRhaW5QdHI8Q0ZEYXRhUmVmPgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxMjMwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3Vy
Y2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VCdWZmZXI6OmNyZWF0ZUNG
RGF0YSk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlQnVmZmVyLmg6CisgICAgICAgICogbG9h
ZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
ZWdhY3lXZWJBcmNoaXZlOjpjcmVhdGVQcm9wZXJ0eUxpc3RSZXByZXNlbnRhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpMZWdhY3lXZWJBcmNoaXZlOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL1NoYXJlZEJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNG
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlU291cmNlOjpzZXREYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBERkRvY3Vt
ZW50SW1hZ2U6OmNyZWF0ZVBERkRvY3VtZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2hhcmVk
QnVmZmVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGVDRkRh
dGEpOgorCiAyMDEzLTA5LTEyICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29t
PgogCiAgICAgICAgIFtXaW5DYWlyb10gQ29tcGlsZSBlcnJvcnMsIG1pc3NpbmcgaW5jbHVkZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4NGUxNTExMmUxODNjMjdhNjMxZThhNWJkMmI3ZWI1NDA0NzNlMGUyLi5m
YWZjNzY5ZDdhZWNmY2QwMTY3NzI3YzQxOTdjZTI5NzViNGY2M2RmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTMtMDktMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KKworICAgICAgICBTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSBzaG91bGQgcmV0dXJu
IFJldGFpblB0cjxDRkRhdGFSZWY+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjEyMzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkZXJN
YWMubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJ5R2V0U2hh
cmVhYmxlSGFuZGxlRnJvbVNoYXJlZEJ1ZmZlcik6CisgICAgICAgICogU2hhcmVkL1dlYkFyY2hp
dmVSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkFyY2hpdmVSZXNvdXJjZTo6ZGF0
YSk6CisKIDIwMTMtMDktMTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OOiBJbmxpbmUgUERGIHRoYXQgYXJlIGNhY2hlZCBmYWlsIHRvIGFwcGVh
ciBpbiBpZnJhbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VC
dWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmNwcAppbmRl
eCBlODdjMGFhZGE4Y2IyYjkyMjI4NWFhODZmOTA0ZGFiMjE5Yjc0OWE5Li5kZmIyYTQyMzY4N2Ux
YjNlYzg2ODBkZjMwYjA5NGNhZTJlZDM1ODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUJ1ZmZlci5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1
ZmZlcj4gUmVzb3VyY2VCdWZmZXI6OnJlbGVhc2VQdXJnZWFibGVCdWZmZXIoKQogfQogCiAjaWYg
VVNFKENGKQotQ0ZEYXRhUmVmIFJlc291cmNlQnVmZmVyOjpjcmVhdGVDRkRhdGEoKQorUmV0YWlu
UHRyPENGRGF0YVJlZj4gUmVzb3VyY2VCdWZmZXI6OmNyZWF0ZUNGRGF0YSgpCiB7CiAgICAgcmV0
dXJuIG1fc2hhcmVkQnVmZmVyLT5jcmVhdGVDRkRhdGEoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlQnVmZmVyLmgKaW5kZXggNjFkZGFjY2RjYTlkNzU0NWIzMDE3YmYyODM4ZDEwZTRi
MmEwNjUwYi4uYWUwNTQyYmQ3NmFjOWJjNTAwMWMzY2EwZjQxOWViMjQ3NmZmYjAxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGlj
OgogICAgIE5TRGF0YSAqY3JlYXRlTlNEYXRhKCk7CiAjZW5kaWYKICNpZiBVU0UoQ0YpCi0gICAg
Q0ZEYXRhUmVmIGNyZWF0ZUNGRGF0YSgpOworICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNyZWF0
ZUNGRGF0YSgpOwogI2VuZGlmCiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKaW5kZXggZmZlYmUzZGZi
NzAyYThjY2Q3MzZiOWI4ZWFkNDBiMmIyMGE3M2VjOS4uNDEwMWFkY2I5MmM5ZWE1ZmMwNmU5MGRk
OGFmNjk5ZTkwYjQ5MjZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hp
dmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fy
Y2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgUmV0YWluUHRy
PENGRGljdGlvbmFyeVJlZj4gTGVnYWN5V2ViQXJjaGl2ZTo6Y3JlYXRlUHJvcGVydHlMaXN0UmVw
cmVzZW50YXRpb24oQXIKICAgICBTaGFyZWRCdWZmZXIqIGRhdGEgPSByZXNvdXJjZS0+ZGF0YSgp
OwogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNmRGF0YTsKICAgICBpZiAoZGF0YSkKLSAgICAg
ICAgY2ZEYXRhID0gYWRvcHRDRihkYXRhLT5jcmVhdGVDRkRhdGEoKSk7CisgICAgICAgIGNmRGF0
YSA9IGRhdGEtPmNyZWF0ZUNGRGF0YSgpOwogICAgIGVsc2UKICAgICAgICAgY2ZEYXRhID0gYWRv
cHRDRihDRkRhdGFDcmVhdGUoMCwgMCwgMCkpOwogICAgIENGRGljdGlvbmFyeVNldFZhbHVlKHBy
b3BlcnR5TGlzdC5nZXQoKSwgTGVnYWN5V2ViQXJjaGl2ZVJlc291cmNlRGF0YUtleSwgY2ZEYXRh
LmdldCgpKTsKQEAgLTI2OCw3ICsyNjgsNyBAQCBQYXNzUmVmUHRyPExlZ2FjeVdlYkFyY2hpdmU+
IExlZ2FjeVdlYkFyY2hpdmU6OmNyZWF0ZShjb25zdCBLVVJMJiwgU2hhcmVkQnVmZmVyKgogICAg
IGlmICghZGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIAotICAgIFJldGFpblB0cjxD
RkRhdGFSZWY+IGNmRGF0YSA9IGFkb3B0Q0YoZGF0YS0+Y3JlYXRlQ0ZEYXRhKCkpOworICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGNmRGF0YSA9IGRhdGEtPmNyZWF0ZUNGRGF0YSgpOwogICAgIGlm
ICghY2ZEYXRhKQogICAgICAgICByZXR1cm4gMDsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZEJ1ZmZlci5oCmluZGV4IGFhYTZhYWFiNDlmNzQ3ZTA4NTNhN2E4MmY0Nzg4YWMx
MDg2NWE5MjYuLmQ3YTkzNTVlYWM2MzM5YWVkNmE2ZTZmZTYwMTVjMWI2ODg0MjQ2YTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHdyYXBOU0RhdGEoTlNEYXRh
ICpkYXRhKTsKICNlbmRpZgogI2lmIFVTRShDRikKLSAgICBDRkRhdGFSZWYgY3JlYXRlQ0ZEYXRh
KCk7CisgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY3JlYXRlQ0ZEYXRhKCk7CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB3cmFwQ0ZEYXRhKENGRGF0YVJlZik7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0Yu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2hhcmVkQnVmZmVyQ0YuY3BwCmluZGV4
IDE4OGE4Mzc4ZmUyNzEyMzA2NTE2OWMxZDQ1OWY2N2I5NmRlMDZkMTIuLmFmZTViYzFjNTk0MDQz
NTZiNjk2YWEzMmRkMTE1ZDA2MTliZjQ5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NmL1NoYXJlZEJ1ZmZlckNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jZi9TaGFyZWRCdWZmZXJDRi5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgU2hhcmVkQnVmZmVyOjpT
aGFyZWRCdWZmZXIoQ0ZEYXRhUmVmIGNmRGF0YSkKIC8vIE1hYyBpcyBhIENGIHBsYXRmb3JtIGJ1
dCBoYXMgYW4gZXZlbiBtb3JlIGVmZmljaWVudCB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kLAogLy8g
c28gb25seSB1c2UgdGhpcyB2ZXJzaW9uIGZvciBub24tTWFjCiAjaWYgIVBMQVRGT1JNKE1BQykK
LUNGRGF0YVJlZiBTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSgpCitSZXRhaW5QdHI8Q0ZEYXRh
UmVmPiBTaGFyZWRCdWZmZXI6OmNyZWF0ZUNGRGF0YSgpCiB7CiAgICAgaWYgKG1fY2ZEYXRhKSB7
CiAgICAgICAgIENGUmV0YWluKG1fY2ZEYXRhLmdldCgpKTsKQEAgLTUwLDcgKzUwLDcgQEAgQ0ZE
YXRhUmVmIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKCkKIAogICAgIC8vIEludGVybmFsIGRh
dGEgaW4gU2hhcmVkQnVmZmVyIGNhbiBiZSBzZWdtZW50ZWQuIFdlIG5lZWQgdG8gZ2V0IHRoZSBj
b250aWd1b3VzIGJ1ZmZlci4KICAgICBjb25zdCBWZWN0b3I8Y2hhcj4mIGNvbnRpZ3VvdXNCdWZm
ZXIgPSBidWZmZXIoKTsKLSAgICByZXR1cm4gQ0ZEYXRhQ3JlYXRlKDAsIHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgVUludDgqPihjb250aWd1b3VzQnVmZmVyLmRhdGEoKSksIGNvbnRpZ3VvdXNCdWZm
ZXIuc2l6ZSgpKTsKKyAgICByZXR1cm4gYWRvcHRDRihDRkRhdGFDcmVhdGUoMCwgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBVSW50OCo+KGNvbnRpZ3VvdXNCdWZmZXIuZGF0YSgpKSwgY29udGlndW91
c0J1ZmZlci5zaXplKCkpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCmluZGV4IGFhOTU1ODg1YTU3
OTYwNGM2ZDI0OTYwNGIyZmE0MzdiZTQxOTYxNWUuLjY1ZjJmOGZmNTY3NTI3MzdiZGEwMzJlN2U1
MTcxMDYyNjJlZTI3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC0xMzMsOCArMTMzLDcgQEAgdm9pZCBJbWFn
ZVNvdXJjZTo6c2V0RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEsIGJvb2wgYWxsRGF0YVJlY2VpdmVk
KQogICAgICAgICBtX2RlY29kZXIgPSBDR0ltYWdlU291cmNlQ3JlYXRlSW5jcmVtZW50YWwoMCk7
CiAgICAgLy8gT24gTWFjIHRoZSBOU0RhdGEgaW5zaWRlIHRoZSBTaGFyZWRCdWZmZXIgY2FuIGJl
IHNlY3JldGx5IGFwcGVuZGVkIHRvIHdpdGhvdXQgdGhlIFNoYXJlZEJ1ZmZlcidzIGtub3dsZWRn
ZS4gIFdlIHVzZSBTaGFyZWRCdWZmZXIncyBhYmlsaXR5CiAgICAgLy8gdG8gd3JhcCBpdHNlbGYg
aW5zaWRlIENGRGF0YSB0byBnZXQgYXJvdW5kIHRoaXMsIGVuc3VyaW5nIHRoYXQgSW1hZ2VJTyBp
cyByZWFsbHkgbG9va2luZyBhdCB0aGUgU2hhcmVkQnVmZmVyLgotICAgIFJldGFpblB0cjxDRkRh
dGFSZWY+IGNmRGF0YSA9IGFkb3B0Q0YoZGF0YS0+Y3JlYXRlQ0ZEYXRhKCkpOwotICAgIENHSW1h
Z2VTb3VyY2VVcGRhdGVEYXRhKG1fZGVjb2RlciwgY2ZEYXRhLmdldCgpLCBhbGxEYXRhUmVjZWl2
ZWQpOworICAgIENHSW1hZ2VTb3VyY2VVcGRhdGVEYXRhKG1fZGVjb2RlciwgZGF0YS0+Y3JlYXRl
Q0ZEYXRhKCkuZ2V0KCksIGFsbERhdGFSZWNlaXZlZCk7CiAjZWxzZQogICAgIGlmICghbV9kZWNv
ZGVyKSB7CiAgICAgICAgIG1fZGVjb2RlciA9IENHSW1hZ2VTb3VyY2VDcmVhdGVJbmNyZW1lbnRh
bCgwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BE
RkRvY3VtZW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
UERGRG9jdW1lbnRJbWFnZS5jcHAKaW5kZXggOWFmNjljZGM5ZTAwM2I5YTYzMGM1YzQ0ODFkMTEx
N2M4NjMxZjRiYy4uNTY3ZWQ4NzBlOTVlYWJmMDdjMjZiODZjODIyMjExOGU2OWNmMDY1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9j
dW1lbnRJbWFnZS5jcHAKQEAgLTE0NSw4ICsxNDUsNyBAQCB2b2lkIFBERkRvY3VtZW50SW1hZ2U6
OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3Qs
CiAjaWYgIVVTRShQREZLSVRfRk9SX1BERkRPQ1VNRU5USU1BR0UpCiB2b2lkIFBERkRvY3VtZW50
SW1hZ2U6OmNyZWF0ZVBERkRvY3VtZW50KCkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBk
YXRhID0gYWRvcHRDRih0aGlzLT5kYXRhKCktPmNyZWF0ZUNGRGF0YSgpKTsKLSAgICBSZXRhaW5Q
dHI8Q0dEYXRhUHJvdmlkZXJSZWY+IGRhdGFQcm92aWRlciA9IGFkb3B0Q0YoQ0dEYXRhUHJvdmlk
ZXJDcmVhdGVXaXRoQ0ZEYXRhKGRhdGEuZ2V0KCkpKTsKKyAgICBSZXRhaW5QdHI8Q0dEYXRhUHJv
dmlkZXJSZWY+IGRhdGFQcm92aWRlciA9IGFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVXaXRo
Q0ZEYXRhKGRhdGEoKS0+Y3JlYXRlQ0ZEYXRhKCkuZ2V0KCkpKTsKICAgICBtX2RvY3VtZW50ID0g
Q0dQREZEb2N1bWVudENyZWF0ZVdpdGhQcm92aWRlcihkYXRhUHJvdmlkZXIuZ2V0KCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKaW5kZXggYmU0ODBhYTE3OWVkYzQ0MTMyOGYz
YTY1ZjAzZWY3ZWY5ZWM4MmUyOS4uZDU2MjExODJhODAwOWIwMDc2ZWZhYTVlM2RjNjFjMWY5ZGNm
NmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcApAQCAtNjMsNyArNjMsNyBAQCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJl
ZEJ1ZmZlciogYnVmZmVyKQogCiAgICAgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXJSZWYg
PSAwOwogCi0gICAgUmV0YWluUHRyPENGRGF0YVJlZj4gYnVmZmVyRGF0YSA9IGFkb3B0Q0YoYnVm
ZmVyLT5jcmVhdGVDRkRhdGEoKSk7CisgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gYnVmZmVyRGF0
YSA9IGJ1ZmZlci0+Y3JlYXRlQ0ZEYXRhKCk7CiAgICAgUmV0YWluUHRyPENHRGF0YVByb3ZpZGVy
UmVmPiBkYXRhUHJvdmlkZXIgPSBhZG9wdENGKENHRGF0YVByb3ZpZGVyQ3JlYXRlV2l0aENGRGF0
YShidWZmZXJEYXRhLmdldCgpKSk7CiAKICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnRS
ZWYgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhEYXRhUHJvdmlkZXIoZGF0YVByb3ZpZGVyLmdl
dCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVm
ZmVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZEJ1ZmZlck1hYy5t
bQppbmRleCA3MTVjYWFlNDQzM2ZmNDM5M2YyNWE4OTQyNThlNjZmZDI4NmY5YzFlLi40NzUxNWIz
YjIwYjEzZGZmZDljMmQ3ZGY3MDE0Yjc3ZDA4ZmJlMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkQnVmZmVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TaGFyZWRCdWZmZXJNYWMubW0KQEAgLTEwMSwxNCArMTAxLDEyIEBAIE5T
RGF0YSAqU2hhcmVkQnVmZmVyOjpjcmVhdGVOU0RhdGEoKQogICAgIHJldHVybiBbW1dlYkNvcmVT
aGFyZWRCdWZmZXJEYXRhIGFsbG9jXSBpbml0V2l0aFNoYXJlZEJ1ZmZlcjp0aGlzXTsKIH0KIAot
Q0ZEYXRhUmVmIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKCkKK1JldGFpblB0cjxDRkRhdGFS
ZWY+IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhKCkKIHsKLSAgICBpZiAobV9jZkRhdGEpIHsK
LSAgICAgICAgQ0ZSZXRhaW4obV9jZkRhdGEuZ2V0KCkpOwotICAgICAgICByZXR1cm4gbV9jZkRh
dGEuZ2V0KCk7Ci0gICAgfQotICAgIAotICAgIHJldHVybiAoQ0ZEYXRhUmVmKWFkb3B0TlMoW1tX
ZWJDb3JlU2hhcmVkQnVmZmVyRGF0YSBhbGxvY10gaW5pdFdpdGhTaGFyZWRCdWZmZXI6dGhpc10p
LmxlYWtSZWYoKTsKKyAgICBpZiAobV9jZkRhdGEpCisgICAgICAgIHJldHVybiBtX2NmRGF0YTsK
KworICAgIHJldHVybiBhZG9wdENGKChDRkRhdGFSZWYpYWRvcHROUyhbW1dlYkNvcmVTaGFyZWRC
dWZmZXJEYXRhIGFsbG9jXSBpbml0V2l0aFNoYXJlZEJ1ZmZlcjp0aGlzXSkubGVha1JlZigpKTsK
IH0KIAogUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlV2l0aENv
bnRlbnRzT2ZGaWxlKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1h
Yy5tbQppbmRleCA4NGVhMTQ5YzcyYjc5Mzc0ZWNiNWZhNDY5YWYzYzg3MDU4Zjg5YmQ2Li5kMDVk
M2YwZTllMTY3MWY4MTI4MjlmMTk1Njg2ZjFkMTQ0ODU4OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJNYWMubW0KQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRy
eUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIoU2hhcmVhYmxlUmVzb3UKICAgICBp
ZiAoIWNhY2hlKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBk
YXRhID0gYWRvcHRDRihidWZmZXItPmNyZWF0ZUNGRGF0YSgpKTsKKyAgICBSZXRhaW5QdHI8Q0ZE
YXRhUmVmPiBkYXRhID0gYnVmZmVyLT5jcmVhdGVDRkRhdGEoKTsKICAgICBpZiAoX0NGVVJMQ2Fj
aGVJc1Jlc3BvbnNlRGF0YU1lbU1hcHBlZChjYWNoZS5nZXQoKSwgZGF0YS5nZXQoKSkgPT0ga0NG
Qm9vbGVhbkZhbHNlKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJBcmNoaXZlUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAKaW5kZXggNTE2MDgxZTE3ZmQxMjcxMmM2ZjgwZWJlOTBi
NzA2MTRkODI4YWJhNi4uZDg1NWUzZDljY2M2MWJjN2Q2NDQ4ODc1NTM2YWM1YmMzZTYxY2Q4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkFyY2hpdmVSZXNvdXJjZS5jcHAKQEAgLTY5
LDcgKzY5LDcgQEAgc3RhdGljIHZvaWQgcmVsZWFzZUNGRGF0YSh1bnNpZ25lZCBjaGFyKiwgY29u
c3Qgdm9pZCogZGF0YSkKIAogUGFzc1JlZlB0cjxXZWJEYXRhPiBXZWJBcmNoaXZlUmVzb3VyY2U6
OmRhdGEoKQogewotICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNmRGF0YSA9IGFkb3B0Q0YobV9h
cmNoaXZlUmVzb3VyY2UtPmRhdGEoKS0+Y3JlYXRlQ0ZEYXRhKCkpOworICAgIFJldGFpblB0cjxD
RkRhdGFSZWY+IGNmRGF0YSA9IG1fYXJjaGl2ZVJlc291cmNlLT5kYXRhKCktPmNyZWF0ZUNGRGF0
YSgpOwogCiAgICAgLy8gQmFsYW5jZWQgYnkgQ0ZSZWxlYXNlIGluIHJlbGVhc2VDRkRhdGEuCiAg
ICAgQ0ZSZXRhaW4oY2ZEYXRhLmdldCgpKTsK
</data>
<flag name="review"
          id="233539"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>