<?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>73627</bug_id>
          
          <creation_ts>2011-12-01 23:01:23 -0800</creation_ts>
          <short_desc>[Mac] Reference count threading violation in FormDataStreamMac.mm</short_desc>
          <delta_ts>2011-12-02 09:43:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>513531</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 23:01:23 -0800</bug_when>
    <thetext>[Mac] Reference count threading violation in FormDataStreamMac.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513536</commentid>
    <comment_count>1</comment_count>
      <attachid>117575</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 23:08:05 -0800</bug_when>
    <thetext>Created attachment 117575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513539</commentid>
    <comment_count>2</comment_count>
      <attachid>117575</attachid>
    <who name="">mitz</who>
    <bug_when>2011-12-01 23:11:27 -0800</bug_when>
    <thetext>Comment on attachment 117575
Patch

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

&gt; Source/WebCore/platform/network/mac/FormDataStreamMac.mm:62
&gt; +    DEFINE_STATIC_LOCAL(NSMapTable *, streamFieldsMap, (NSCreateMapTable(NSNonRetainedObjectMapKeyCallBacks, NSNonOwnedPointerMapValueCallBacks, 1)));

I don’t think DEFINE_STATIC_LOCAL makes sense for a pointer type. Those don’t have destructors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513540</commentid>
    <comment_count>3</comment_count>
      <attachid>117575</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 23:11:50 -0800</bug_when>
    <thetext>Comment on attachment 117575
Patch

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

&gt;&gt; Source/WebCore/platform/network/mac/FormDataStreamMac.mm:62
&gt;&gt; +    DEFINE_STATIC_LOCAL(NSMapTable *, streamFieldsMap, (NSCreateMapTable(NSNonRetainedObjectMapKeyCallBacks, NSNonOwnedPointerMapValueCallBacks, 1)));
&gt; 
&gt; I don’t think DEFINE_STATIC_LOCAL makes sense for a pointer type. Those don’t have destructors.

You&apos;re right. I should just use a plain old &quot;static&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513541</commentid>
    <comment_count>4</comment_count>
      <attachid>117576</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 23:12:44 -0800</bug_when>
    <thetext>Created attachment 117576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513853</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-02 09:43:00 -0800</bug_when>
    <thetext>Committed r101813: &lt;http://trac.webkit.org/changeset/101813&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117575</attachid>
            <date>2011-12-01 23:08:05 -0800</date>
            <delta_ts>2011-12-01 23:12:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73627-20111201230804.patch</filename>
            <type>text/plain</type>
            <size>7377</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTc0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTAxICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBSZWZlcmVuY2UgY291bnQg
dGhyZWFkaW5nIHZpb2xhdGlvbiBpbiBGb3JtRGF0YVN0cmVhbU1hYy5tbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaG93cyB1cCBhcyBhIGNyYXNoIGR1
cmluZyBleGlzdGluZyBsYXlvdXQgdGVzdCBydW5zIHNvIG5vIG5ldyB0ZXN0cyBhcmUgcmVxdWly
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9Gb3JtRGF0YVN0cmVhbU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmVhbUZpZWxkc01hcCk6IFJlcGxhY2VkIGdldFN0cmVh
bUZvcm1EYXRhTWFwIHdpdGggdGhpcy4KKyAgICAgICAgVXNlIGFuIE5TTWFwVGFibGUgaW5zdGVh
ZCBvZiBhIEhhc2hNYXAgYmVjYXVzZSB3ZSBuZWVkIHRvIHJlbW92ZSBpdGVtcyBmcm9tIHRoaXMK
KyAgICAgICAgb24gYSBub24tbWFpbiB0aHJlYWQuCisgICAgICAgIChXZWJDb3JlOjphc3NvY2lh
dGVTdHJlYW1XaXRoUmVzb3VyY2VIYW5kbGUpOiBVc2UgTlNNYXBHZXQgaW5zdGVhZCBvZgorICAg
ICAgICBIYXNoTWFwOjpjb250YWlucyBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybUNyZWF0
ZSk6IEZvcm1TdHJlYW1GaWVsZHMgbm93IHN0b3JlcyBhIFJlZlB0ciB0byB0aGUgZm9ybSBkYXRh
LgorICAgICAgICBBZGRlZCB0aGUgY29kZSB0byBmaWxsIHRoYXQgaW4uIERpZCBpdCBpbiBhIG1v
cmUgbW9kZXJuIHdheSB0byBhdm9pZCB0aGUgbGVha1JlZgorICAgICAgICBhbmQgYWRvcHRSZWYg
dGhhdCB3ZXJlIHVzZWQgYmVmb3JlLiBSZXBsYWNlZCB0aGUgY29kZSB0aGF0IHNldCB1cCB0aGUg
c3RyZWFtCisgICAgICAgIGZvcm0gZGF0YSBtYXAgZW50cnkgd2l0aCBjb2RlIHRoYXQgc2V0cyBh
biBlbnRyeSBpbiB0aGUgc3RyZWFtRmllbGRzTWFwLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybUZp
bmlzaEZpbmFsaXphdGlvbk9uTWFpblRocmVhZCk6IEFkZGVkLiBDb250YWlucyB0aGUgd29yayBv
ZgorICAgICAgICBmaW5hbGl6YXRpb24gdGhhdCBtdXN0IGJlIGRvbmUgb24gdGhlIG1haW4gdGhy
ZWFkLCBzcGVjaWZpY2FsbHksIGRlc3Ryb3lpbmcgdGhlCisgICAgICAgIGZpZWxkcyBzdHJ1Y3R1
cmUgdGhhdCBjb250YWlucyBvYmplY3RzIHdpdGggUmVmUHRyIGluIHRoZW0uIFdlIGNhbid0IHRv
dWNoIHRoZXNlCisgICAgICAgIHJlZmVyZW5jZSBjb3VudHMgb24gbm9uLW1haW4gdGhyZWFkcy4K
KyAgICAgICAgKFdlYkNvcmU6OmZvcm1GaW5hbGl6ZSk6IENoYW5nZWQgdGhpcyB0byB1c2UgTlNN
YXBSZW1vdmUgb24gdGhlIHN0cmVhbUZpZWxkc01hcC4KKyAgICAgICAgQWRkZWQgYSBjYWxsT25N
YWluVGhyZWFkIHRvIGZpbmlzaCB0aGUgZmluYWxpemF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
c2V0SFRUUEJvZHkpOiBSZW1vdmVkIHRoZSBsZWFrUmVmLCBubyBsb25nZXIgbmVlZGVkLCB0aGF0
IHVzZWQgdG8gYmUKKyAgICAgICAgYmFsYW5jZWQgYnkgYW4gYWRvcHRSZWYgaW4gZm9ybUNyZWF0
ZS4KKyAgICAgICAgKFdlYkNvcmU6Omh0dHBCb2R5RnJvbVN0cmVhbSk6IENoYW5nZWQgdG8gdXNl
IE5TTWFwR2V0LgorCiAyMDExLTEyLTAxICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNv
bT4KIAogICAgICAgICBGb2N1cyByaW5nIG9mIGltYWdlbWFwJ3MgYXJlYSBlbGVtZW50IGRvZXMg
bm90IHNjYWxlIHdoZW4gQ1NTIHpvb20gc3R5bGUgaXMgYXBwbGllZApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvRm9ybURhdGFTdHJlYW1NYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvRm9ybURhdGFTdHJlYW1N
YWMubW0JKHJldmlzaW9uIDEwMTY2NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL0Zvcm1EYXRhU3RyZWFtTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA4LCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTYsMTEgKzU2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdHlw
ZWRlZiBIYXNoTWFwPENGUmVhZFN0cmVhbVJlZiwgUmVmUHRyPEZvcm1EYXRhPiA+IFN0cmVhbUZv
cm1EYXRhTWFwOwotc3RhdGljIFN0cmVhbUZvcm1EYXRhTWFwJiBnZXRTdHJlYW1Gb3JtRGF0YU1h
cCgpCisvLyBXZSBuZWVkIHRvIHVzZSBOU01hcFRhYmxlIGluc3RlYWQgb2YgSGFzaE1hcCBzaW5j
ZSB0aGlzIG5lZWRzIHRvIGJlIGFjY2Vzc2VkIGZyb20gbW9yZSB0aGFuIG9uZSB0aHJlYWQuCitz
dGF0aWMgTlNNYXBUYWJsZSAqc3RyZWFtRmllbGRzTWFwKCkKIHsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmVhbUZvcm1EYXRhTWFwLCBzdHJlYW1Gb3JtRGF0YU1hcCwgKCkpOwotICAgIHJl
dHVybiBzdHJlYW1Gb3JtRGF0YU1hcDsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKE5TTWFwVGFi
bGUgKiwgc3RyZWFtRmllbGRzTWFwLCAoTlNDcmVhdGVNYXBUYWJsZShOU05vblJldGFpbmVkT2Jq
ZWN0TWFwS2V5Q2FsbEJhY2tzLCBOU05vbk93bmVkUG9pbnRlck1hcFZhbHVlQ2FsbEJhY2tzLCAx
KSkpOworICAgIHJldHVybiBzdHJlYW1GaWVsZHNNYXA7CiB9CiAKIHR5cGVkZWYgSGFzaE1hcDxD
RlJlYWRTdHJlYW1SZWYsIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gPiBTdHJlYW1SZXNvdXJjZUhh
bmRsZU1hcDsKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBhc3NvY2lhdGVTdHJlYW1XaXRoUmVzb3Vy
Y2VIYW5kbGUoTgogICAgIGlmICghc3RyZWFtKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAo
IWdldFN0cmVhbUZvcm1EYXRhTWFwKCkuY29udGFpbnMoKENGUmVhZFN0cmVhbVJlZilzdHJlYW0p
KQorICAgIGlmICghTlNNYXBHZXQoc3RyZWFtRmllbGRzTWFwKCksIHN0cmVhbSkpCiAgICAgICAg
IHJldHVybjsKIAogICAgIEFTU0VSVCghZ2V0U3RyZWFtUmVzb3VyY2VIYW5kbGVNYXAoKS5jb250
YWlucygoQ0ZSZWFkU3RyZWFtUmVmKXN0cmVhbSkpOwpAQCAtMTI1LDExICsxMjUsMTIgQEAgc3Rh
dGljIHZvaWQgcGVyZm9ybURpZFNlbmREYXRhQ2FsbGJhY2sodgogc3RhdGljIHZvaWQgZm9ybUV2
ZW50Q2FsbGJhY2soQ0ZSZWFkU3RyZWFtUmVmIHN0cmVhbSwgQ0ZTdHJlYW1FdmVudFR5cGUgdHlw
ZSwgdm9pZCogY29udGV4dCk7CiAKIHN0cnVjdCBGb3JtQ29udGV4dCB7Ci0gICAgRm9ybURhdGEq
IGZvcm1EYXRhOworICAgIFJlZlB0cjxGb3JtRGF0YT4gZm9ybURhdGE7CiAgICAgdW5zaWduZWQg
bG9uZyBsb25nIHN0cmVhbUxlbmd0aDsKIH07CiAKIHN0cnVjdCBGb3JtU3RyZWFtRmllbGRzIHsK
KyAgICBSZWZQdHI8Rm9ybURhdGE+IGZvcm1EYXRhOwogICAgIFNjaGVkdWxlUGFpckhhc2hTZXQg
c2NoZWR1bGVkUnVuTG9vcFBhaXJzOwogICAgIFZlY3RvcjxGb3JtRGF0YUVsZW1lbnQ+IHJlbWFp
bmluZ0VsZW1lbnRzOyAvLyBpbiByZXZlcnNlIG9yZGVyCiAgICAgQ0ZSZWFkU3RyZWFtUmVmIGN1
cnJlbnRTdHJlYW07CkBAIC0yMzAsNiArMjMxLDcgQEAgc3RhdGljIHZvaWQqIGZvcm1DcmVhdGUo
Q0ZSZWFkU3RyZWFtUmVmIAogICAgIEZvcm1Db250ZXh0KiBmb3JtQ29udGV4dCA9IHN0YXRpY19j
YXN0PEZvcm1Db250ZXh0Kj4oY29udGV4dCk7CiAKICAgICBGb3JtU3RyZWFtRmllbGRzKiBuZXdJ
bmZvID0gbmV3IEZvcm1TdHJlYW1GaWVsZHM7CisgICAgbmV3SW5mby0+Zm9ybURhdGEgPSBmb3Jt
Q29udGV4dC0+Zm9ybURhdGEucmVsZWFzZSgpOwogICAgIG5ld0luZm8tPmN1cnJlbnRTdHJlYW0g
PSBOVUxMOwogI2lmIEVOQUJMRShCTE9CKQogICAgIG5ld0luZm8tPmN1cnJlbnRTdHJlYW1SYW5n
ZUxlbmd0aCA9IEJsb2JEYXRhSXRlbTo6dG9FbmRPZkZpbGU7CkBAIC0yMzksMjggKzI0MSw0MSBA
QCBzdGF0aWMgdm9pZCogZm9ybUNyZWF0ZShDRlJlYWRTdHJlYW1SZWYgCiAgICAgbmV3SW5mby0+
c3RyZWFtTGVuZ3RoID0gZm9ybUNvbnRleHQtPnN0cmVhbUxlbmd0aDsKICAgICBuZXdJbmZvLT5i
eXRlc1NlbnQgPSAwOwogCi0gICAgRm9ybURhdGEqIGZvcm1EYXRhID0gZm9ybUNvbnRleHQtPmZv
cm1EYXRhOwotCiAgICAgLy8gQXBwZW5kIGluIHJldmVyc2Ugb3JkZXIgc2luY2Ugd2UgcmVtb3Zl
IGVsZW1lbnRzIGZyb20gdGhlIGVuZC4KLSAgICBzaXplX3Qgc2l6ZSA9IGZvcm1EYXRhLT5lbGVt
ZW50cygpLnNpemUoKTsKKyAgICBzaXplX3Qgc2l6ZSA9IG5ld0luZm8tPmZvcm1EYXRhLT5lbGVt
ZW50cygpLnNpemUoKTsKICAgICBuZXdJbmZvLT5yZW1haW5pbmdFbGVtZW50cy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KHNpemUpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytp
KQotICAgICAgICBuZXdJbmZvLT5yZW1haW5pbmdFbGVtZW50cy5hcHBlbmQoZm9ybURhdGEtPmVs
ZW1lbnRzKClbc2l6ZSAtIGkgLSAxXSk7CisgICAgICAgIG5ld0luZm8tPnJlbWFpbmluZ0VsZW1l
bnRzLmFwcGVuZChuZXdJbmZvLT5mb3JtRGF0YS0+ZWxlbWVudHMoKVtzaXplIC0gaSAtIDFdKTsK
IAotICAgIGdldFN0cmVhbUZvcm1EYXRhTWFwKCkuc2V0KHN0cmVhbSwgYWRvcHRSZWYoZm9ybURh
dGEpKTsKKyAgICBBU1NFUlQoIU5TTWFwR2V0KHN0cmVhbUZpZWxkc01hcCgpLCBzdHJlYW0pKTsK
KyAgICBOU01hcEluc2VydEtub3duQWJzZW50KHN0cmVhbUZpZWxkc01hcCgpLCBzdHJlYW0sIG5l
d0luZm8pOwogCiAgICAgcmV0dXJuIG5ld0luZm87CiB9CiAKLXN0YXRpYyB2b2lkIGZvcm1GaW5h
bGl6ZShDRlJlYWRTdHJlYW1SZWYgc3RyZWFtLCB2b2lkKiBjb250ZXh0KQorc3RhdGljIHZvaWQg
Zm9ybUZpbmlzaEZpbmFsaXphdGlvbk9uTWFpblRocmVhZCh2b2lkKiBjb250ZXh0KQogewogICAg
IE93blB0cjxGb3JtU3RyZWFtRmllbGRzPiBmb3JtID0gYWRvcHRQdHIoc3RhdGljX2Nhc3Q8Rm9y
bVN0cmVhbUZpZWxkcyo+KGNvbnRleHQpKTsKIAotICAgIGdldFN0cmVhbUZvcm1EYXRhTWFwKCku
cmVtb3ZlKHN0cmVhbSk7Ci0KICAgICBjbG9zZUN1cnJlbnRTdHJlYW0oZm9ybS5nZXQoKSk7CiB9
CiAKK3N0YXRpYyB2b2lkIGZvcm1GaW5hbGl6ZShDRlJlYWRTdHJlYW1SZWYgc3RyZWFtLCB2b2lk
KiBjb250ZXh0KQoreworICAgIEZvcm1TdHJlYW1GaWVsZHMqIGZvcm0gPSBzdGF0aWNfY2FzdDxG
b3JtU3RyZWFtRmllbGRzKj4oY29udGV4dCk7CisKKyAgICBBU1NFUlQoZm9ybS0+Zm9ybVN0cmVh
bSA9PSBzdHJlYW0pOworICAgIEFTU0VSVChOU01hcEdldChzdHJlYW1GaWVsZHNNYXAoKSwgc3Ry
ZWFtKSA9PSBjb250ZXh0KTsKKworICAgIC8vIERvIHRoaXMgcmlnaHQgYXdheSBiZWNhdXNlIHRo
ZSBDRlJlYWRTdHJlYW1SZWYgaXMgYmVpbmcgZGVhbGxvY2F0ZWQuCisgICAgLy8gV2UgY2FuJ3Qg
d2FpdCB0byByZW1vdmUgdGhpcyBmcm9tIHRoZSBtYXAgdW50aWwgd2UgZmluaXNoIGZpbmFsaXpp
bmcKKyAgICAvLyBvbiB0aGUgbWFpbiB0aHJlYWQgYmVjYXVzZSBpbiB0aGVvcnkgdGhlIGZyZWVk
IG1lbW9yeSBjb3VsZCBiZSByZXVzZWQKKyAgICAvLyBmb3IgYSBuZXcgQ0ZSZWFkU3RyZWFtIGJl
Zm9yZSB0aGF0IHJ1bnMuCisgICAgTlNNYXBSZW1vdmUoc3RyZWFtRmllbGRzTWFwKCksIHN0cmVh
bSk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKGZvcm1GaW5pc2hGaW5hbGl6YXRpb25Pbk1haW5U
aHJlYWQsIGZvcm0pOworfQorCiBzdGF0aWMgQm9vbGVhbiBmb3JtT3BlbihDRlJlYWRTdHJlYW1S
ZWYsIENGU3RyZWFtRXJyb3IqIGVycm9yLCBCb29sZWFuKiBvcGVuQ29tcGxldGUsIHZvaWQqIGNv
bnRleHQpCiB7CiAgICAgRm9ybVN0cmVhbUZpZWxkcyogZm9ybSA9IHN0YXRpY19jYXN0PEZvcm1T
dHJlYW1GaWVsZHMqPihjb250ZXh0KTsKQEAgLTQ3MSw3ICs0ODYsNyBAQCB2b2lkIHNldEhUVFBC
b2R5KE5TTXV0YWJsZVVSTFJlcXVlc3QgKnJlCiAgICAgLy8gQ3JlYXRlIGFuZCBzZXQgdGhlIHN0
cmVhbS4KIAogICAgIC8vIFBhc3MgdGhlIGxlbmd0aCBhbG9uZyB3aXRoIHRoZSBmb3JtRGF0YSBz
byBpdCBkb2VzIG5vdCBoYXZlIHRvIGJlIHJlY29tcHV0ZWQuCi0gICAgRm9ybUNvbnRleHQgZm9y
bUNvbnRleHQgPSB7IGZvcm1EYXRhLnJlbGVhc2UoKS5sZWFrUmVmKCksIGxlbmd0aCB9OworICAg
IEZvcm1Db250ZXh0IGZvcm1Db250ZXh0ID0geyBmb3JtRGF0YS5yZWxlYXNlKCksIGxlbmd0aCB9
OwogCiAgICAgUmV0YWluUHRyPENGUmVhZFN0cmVhbVJlZj4gc3RyZWFtKEFkb3B0Q0YsIHdrQ3Jl
YXRlQ3VzdG9tQ0ZSZWFkU3RyZWFtKGZvcm1DcmVhdGUsIGZvcm1GaW5hbGl6ZSwKICAgICAgICAg
Zm9ybU9wZW4sIGZvcm1SZWFkLCBmb3JtQ2FuUmVhZCwgZm9ybUNsb3NlLCBmb3JtU2NoZWR1bGUs
IGZvcm1VbnNjaGVkdWxlLApAQCAtNDgxLDcgKzQ5NiwxMCBAQCB2b2lkIHNldEhUVFBCb2R5KE5T
TXV0YWJsZVVSTFJlcXVlc3QgKnJlCiAKIEZvcm1EYXRhKiBodHRwQm9keUZyb21TdHJlYW0oTlNJ
bnB1dFN0cmVhbSogc3RyZWFtKQogewotICAgIHJldHVybiBnZXRTdHJlYW1Gb3JtRGF0YU1hcCgp
LmdldCgoQ0ZSZWFkU3RyZWFtUmVmKXN0cmVhbSkuZ2V0KCk7CisgICAgRm9ybVN0cmVhbUZpZWxk
cyogZm9ybVN0cmVhbSA9IHN0YXRpY19jYXN0PEZvcm1TdHJlYW1GaWVsZHMqPihOU01hcEdldChz
dHJlYW1GaWVsZHNNYXAoKSwgc3RyZWFtKSk7CisgICAgaWYgKCFmb3JtU3RyZWFtKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gZm9ybVN0cmVhbS0+Zm9ybURhdGEuZ2V0KCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117576</attachid>
            <date>2011-12-01 23:12:44 -0800</date>
            <delta_ts>2011-12-02 09:41:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73627-20111201231243.patch</filename>
            <type>text/plain</type>
            <size>7360</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMTc0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTAxICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBSZWZlcmVuY2UgY291bnQg
dGhyZWFkaW5nIHZpb2xhdGlvbiBpbiBGb3JtRGF0YVN0cmVhbU1hYy5tbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaG93cyB1cCBhcyBhIGNyYXNoIGR1
cmluZyBleGlzdGluZyBsYXlvdXQgdGVzdCBydW5zIHNvIG5vIG5ldyB0ZXN0cyBhcmUgcmVxdWly
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9Gb3JtRGF0YVN0cmVhbU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OnN0cmVhbUZpZWxkc01hcCk6IFJlcGxhY2VkIGdldFN0cmVh
bUZvcm1EYXRhTWFwIHdpdGggdGhpcy4KKyAgICAgICAgVXNlIGFuIE5TTWFwVGFibGUgaW5zdGVh
ZCBvZiBhIEhhc2hNYXAgYmVjYXVzZSB3ZSBuZWVkIHRvIHJlbW92ZSBpdGVtcyBmcm9tIHRoaXMK
KyAgICAgICAgb24gYSBub24tbWFpbiB0aHJlYWQuCisgICAgICAgIChXZWJDb3JlOjphc3NvY2lh
dGVTdHJlYW1XaXRoUmVzb3VyY2VIYW5kbGUpOiBVc2UgTlNNYXBHZXQgaW5zdGVhZCBvZgorICAg
ICAgICBIYXNoTWFwOjpjb250YWlucyBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybUNyZWF0
ZSk6IEZvcm1TdHJlYW1GaWVsZHMgbm93IHN0b3JlcyBhIFJlZlB0ciB0byB0aGUgZm9ybSBkYXRh
LgorICAgICAgICBBZGRlZCB0aGUgY29kZSB0byBmaWxsIHRoYXQgaW4uIERpZCBpdCBpbiBhIG1v
cmUgbW9kZXJuIHdheSB0byBhdm9pZCB0aGUgbGVha1JlZgorICAgICAgICBhbmQgYWRvcHRSZWYg
dGhhdCB3ZXJlIHVzZWQgYmVmb3JlLiBSZXBsYWNlZCB0aGUgY29kZSB0aGF0IHNldCB1cCB0aGUg
c3RyZWFtCisgICAgICAgIGZvcm0gZGF0YSBtYXAgZW50cnkgd2l0aCBjb2RlIHRoYXQgc2V0cyBh
biBlbnRyeSBpbiB0aGUgc3RyZWFtRmllbGRzTWFwLgorICAgICAgICAoV2ViQ29yZTo6Zm9ybUZp
bmlzaEZpbmFsaXphdGlvbk9uTWFpblRocmVhZCk6IEFkZGVkLiBDb250YWlucyB0aGUgd29yayBv
ZgorICAgICAgICBmaW5hbGl6YXRpb24gdGhhdCBtdXN0IGJlIGRvbmUgb24gdGhlIG1haW4gdGhy
ZWFkLCBzcGVjaWZpY2FsbHksIGRlc3Ryb3lpbmcgdGhlCisgICAgICAgIGZpZWxkcyBzdHJ1Y3R1
cmUgdGhhdCBjb250YWlucyBvYmplY3RzIHdpdGggUmVmUHRyIGluIHRoZW0uIFdlIGNhbid0IHRv
dWNoIHRoZXNlCisgICAgICAgIHJlZmVyZW5jZSBjb3VudHMgb24gbm9uLW1haW4gdGhyZWFkcy4K
KyAgICAgICAgKFdlYkNvcmU6OmZvcm1GaW5hbGl6ZSk6IENoYW5nZWQgdGhpcyB0byB1c2UgTlNN
YXBSZW1vdmUgb24gdGhlIHN0cmVhbUZpZWxkc01hcC4KKyAgICAgICAgQWRkZWQgYSBjYWxsT25N
YWluVGhyZWFkIHRvIGZpbmlzaCB0aGUgZmluYWxpemF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
c2V0SFRUUEJvZHkpOiBSZW1vdmVkIHRoZSBsZWFrUmVmLCBubyBsb25nZXIgbmVlZGVkLCB0aGF0
IHVzZWQgdG8gYmUKKyAgICAgICAgYmFsYW5jZWQgYnkgYW4gYWRvcHRSZWYgaW4gZm9ybUNyZWF0
ZS4KKyAgICAgICAgKFdlYkNvcmU6Omh0dHBCb2R5RnJvbVN0cmVhbSk6IENoYW5nZWQgdG8gdXNl
IE5TTWFwR2V0LgorCiAyMDExLTEyLTAxICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNv
bT4KIAogICAgICAgICBGb2N1cyByaW5nIG9mIGltYWdlbWFwJ3MgYXJlYSBlbGVtZW50IGRvZXMg
bm90IHNjYWxlIHdoZW4gQ1NTIHpvb20gc3R5bGUgaXMgYXBwbGllZApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvRm9ybURhdGFTdHJlYW1NYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvRm9ybURhdGFTdHJlYW1N
YWMubW0JKHJldmlzaW9uIDEwMTY2NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL0Zvcm1EYXRhU3RyZWFtTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA4LCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTYsMTEgKzU2LDExIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdHlw
ZWRlZiBIYXNoTWFwPENGUmVhZFN0cmVhbVJlZiwgUmVmUHRyPEZvcm1EYXRhPiA+IFN0cmVhbUZv
cm1EYXRhTWFwOwotc3RhdGljIFN0cmVhbUZvcm1EYXRhTWFwJiBnZXRTdHJlYW1Gb3JtRGF0YU1h
cCgpCisvLyBXZSBuZWVkIHRvIHVzZSBOU01hcFRhYmxlIGluc3RlYWQgb2YgSGFzaE1hcCBzaW5j
ZSB0aGlzIG5lZWRzIHRvIGJlIGFjY2Vzc2VkIGZyb20gbW9yZSB0aGFuIG9uZSB0aHJlYWQuCitz
dGF0aWMgTlNNYXBUYWJsZSAqc3RyZWFtRmllbGRzTWFwKCkKIHsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmVhbUZvcm1EYXRhTWFwLCBzdHJlYW1Gb3JtRGF0YU1hcCwgKCkpOwotICAgIHJl
dHVybiBzdHJlYW1Gb3JtRGF0YU1hcDsKKyAgICBzdGF0aWMgTlNNYXBUYWJsZSAqc3RyZWFtRmll
bGRzTWFwID0gTlNDcmVhdGVNYXBUYWJsZShOU05vblJldGFpbmVkT2JqZWN0TWFwS2V5Q2FsbEJh
Y2tzLCBOU05vbk93bmVkUG9pbnRlck1hcFZhbHVlQ2FsbEJhY2tzLCAxKTsKKyAgICByZXR1cm4g
c3RyZWFtRmllbGRzTWFwOwogfQogCiB0eXBlZGVmIEhhc2hNYXA8Q0ZSZWFkU3RyZWFtUmVmLCBS
ZWZQdHI8UmVzb3VyY2VIYW5kbGU+ID4gU3RyZWFtUmVzb3VyY2VIYW5kbGVNYXA7CkBAIC03OSw3
ICs3OSw3IEBAIHZvaWQgYXNzb2NpYXRlU3RyZWFtV2l0aFJlc291cmNlSGFuZGxlKE4KICAgICBp
ZiAoIXN0cmVhbSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFnZXRTdHJlYW1Gb3JtRGF0
YU1hcCgpLmNvbnRhaW5zKChDRlJlYWRTdHJlYW1SZWYpc3RyZWFtKSkKKyAgICBpZiAoIU5TTWFw
R2V0KHN0cmVhbUZpZWxkc01hcCgpLCBzdHJlYW0pKQogICAgICAgICByZXR1cm47CiAKICAgICBB
U1NFUlQoIWdldFN0cmVhbVJlc291cmNlSGFuZGxlTWFwKCkuY29udGFpbnMoKENGUmVhZFN0cmVh
bVJlZilzdHJlYW0pKTsKQEAgLTEyNSwxMSArMTI1LDEyIEBAIHN0YXRpYyB2b2lkIHBlcmZvcm1E
aWRTZW5kRGF0YUNhbGxiYWNrKHYKIHN0YXRpYyB2b2lkIGZvcm1FdmVudENhbGxiYWNrKENGUmVh
ZFN0cmVhbVJlZiBzdHJlYW0sIENGU3RyZWFtRXZlbnRUeXBlIHR5cGUsIHZvaWQqIGNvbnRleHQp
OwogCiBzdHJ1Y3QgRm9ybUNvbnRleHQgewotICAgIEZvcm1EYXRhKiBmb3JtRGF0YTsKKyAgICBS
ZWZQdHI8Rm9ybURhdGE+IGZvcm1EYXRhOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdHJlYW1M
ZW5ndGg7CiB9OwogCiBzdHJ1Y3QgRm9ybVN0cmVhbUZpZWxkcyB7CisgICAgUmVmUHRyPEZvcm1E
YXRhPiBmb3JtRGF0YTsKICAgICBTY2hlZHVsZVBhaXJIYXNoU2V0IHNjaGVkdWxlZFJ1bkxvb3BQ
YWlyczsKICAgICBWZWN0b3I8Rm9ybURhdGFFbGVtZW50PiByZW1haW5pbmdFbGVtZW50czsgLy8g
aW4gcmV2ZXJzZSBvcmRlcgogICAgIENGUmVhZFN0cmVhbVJlZiBjdXJyZW50U3RyZWFtOwpAQCAt
MjMwLDYgKzIzMSw3IEBAIHN0YXRpYyB2b2lkKiBmb3JtQ3JlYXRlKENGUmVhZFN0cmVhbVJlZiAK
ICAgICBGb3JtQ29udGV4dCogZm9ybUNvbnRleHQgPSBzdGF0aWNfY2FzdDxGb3JtQ29udGV4dCo+
KGNvbnRleHQpOwogCiAgICAgRm9ybVN0cmVhbUZpZWxkcyogbmV3SW5mbyA9IG5ldyBGb3JtU3Ry
ZWFtRmllbGRzOworICAgIG5ld0luZm8tPmZvcm1EYXRhID0gZm9ybUNvbnRleHQtPmZvcm1EYXRh
LnJlbGVhc2UoKTsKICAgICBuZXdJbmZvLT5jdXJyZW50U3RyZWFtID0gTlVMTDsKICNpZiBFTkFC
TEUoQkxPQikKICAgICBuZXdJbmZvLT5jdXJyZW50U3RyZWFtUmFuZ2VMZW5ndGggPSBCbG9iRGF0
YUl0ZW06OnRvRW5kT2ZGaWxlOwpAQCAtMjM5LDI4ICsyNDEsNDEgQEAgc3RhdGljIHZvaWQqIGZv
cm1DcmVhdGUoQ0ZSZWFkU3RyZWFtUmVmIAogICAgIG5ld0luZm8tPnN0cmVhbUxlbmd0aCA9IGZv
cm1Db250ZXh0LT5zdHJlYW1MZW5ndGg7CiAgICAgbmV3SW5mby0+Ynl0ZXNTZW50ID0gMDsKIAot
ICAgIEZvcm1EYXRhKiBmb3JtRGF0YSA9IGZvcm1Db250ZXh0LT5mb3JtRGF0YTsKLQogICAgIC8v
IEFwcGVuZCBpbiByZXZlcnNlIG9yZGVyIHNpbmNlIHdlIHJlbW92ZSBlbGVtZW50cyBmcm9tIHRo
ZSBlbmQuCi0gICAgc2l6ZV90IHNpemUgPSBmb3JtRGF0YS0+ZWxlbWVudHMoKS5zaXplKCk7Cisg
ICAgc2l6ZV90IHNpemUgPSBuZXdJbmZvLT5mb3JtRGF0YS0+ZWxlbWVudHMoKS5zaXplKCk7CiAg
ICAgbmV3SW5mby0+cmVtYWluaW5nRWxlbWVudHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXpl
KTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgbmV3SW5m
by0+cmVtYWluaW5nRWxlbWVudHMuYXBwZW5kKGZvcm1EYXRhLT5lbGVtZW50cygpW3NpemUgLSBp
IC0gMV0pOworICAgICAgICBuZXdJbmZvLT5yZW1haW5pbmdFbGVtZW50cy5hcHBlbmQobmV3SW5m
by0+Zm9ybURhdGEtPmVsZW1lbnRzKClbc2l6ZSAtIGkgLSAxXSk7CiAKLSAgICBnZXRTdHJlYW1G
b3JtRGF0YU1hcCgpLnNldChzdHJlYW0sIGFkb3B0UmVmKGZvcm1EYXRhKSk7CisgICAgQVNTRVJU
KCFOU01hcEdldChzdHJlYW1GaWVsZHNNYXAoKSwgc3RyZWFtKSk7CisgICAgTlNNYXBJbnNlcnRL
bm93bkFic2VudChzdHJlYW1GaWVsZHNNYXAoKSwgc3RyZWFtLCBuZXdJbmZvKTsKIAogICAgIHJl
dHVybiBuZXdJbmZvOwogfQogCi1zdGF0aWMgdm9pZCBmb3JtRmluYWxpemUoQ0ZSZWFkU3RyZWFt
UmVmIHN0cmVhbSwgdm9pZCogY29udGV4dCkKK3N0YXRpYyB2b2lkIGZvcm1GaW5pc2hGaW5hbGl6
YXRpb25Pbk1haW5UaHJlYWQodm9pZCogY29udGV4dCkKIHsKICAgICBPd25QdHI8Rm9ybVN0cmVh
bUZpZWxkcz4gZm9ybSA9IGFkb3B0UHRyKHN0YXRpY19jYXN0PEZvcm1TdHJlYW1GaWVsZHMqPihj
b250ZXh0KSk7CiAKLSAgICBnZXRTdHJlYW1Gb3JtRGF0YU1hcCgpLnJlbW92ZShzdHJlYW0pOwot
CiAgICAgY2xvc2VDdXJyZW50U3RyZWFtKGZvcm0uZ2V0KCkpOwogfQogCitzdGF0aWMgdm9pZCBm
b3JtRmluYWxpemUoQ0ZSZWFkU3RyZWFtUmVmIHN0cmVhbSwgdm9pZCogY29udGV4dCkKK3sKKyAg
ICBGb3JtU3RyZWFtRmllbGRzKiBmb3JtID0gc3RhdGljX2Nhc3Q8Rm9ybVN0cmVhbUZpZWxkcyo+
KGNvbnRleHQpOworCisgICAgQVNTRVJUKGZvcm0tPmZvcm1TdHJlYW0gPT0gc3RyZWFtKTsKKyAg
ICBBU1NFUlQoTlNNYXBHZXQoc3RyZWFtRmllbGRzTWFwKCksIHN0cmVhbSkgPT0gY29udGV4dCk7
CisKKyAgICAvLyBEbyB0aGlzIHJpZ2h0IGF3YXkgYmVjYXVzZSB0aGUgQ0ZSZWFkU3RyZWFtUmVm
IGlzIGJlaW5nIGRlYWxsb2NhdGVkLgorICAgIC8vIFdlIGNhbid0IHdhaXQgdG8gcmVtb3ZlIHRo
aXMgZnJvbSB0aGUgbWFwIHVudGlsIHdlIGZpbmlzaCBmaW5hbGl6aW5nCisgICAgLy8gb24gdGhl
IG1haW4gdGhyZWFkIGJlY2F1c2UgaW4gdGhlb3J5IHRoZSBmcmVlZCBtZW1vcnkgY291bGQgYmUg
cmV1c2VkCisgICAgLy8gZm9yIGEgbmV3IENGUmVhZFN0cmVhbSBiZWZvcmUgdGhhdCBydW5zLgor
ICAgIE5TTWFwUmVtb3ZlKHN0cmVhbUZpZWxkc01hcCgpLCBzdHJlYW0pOworCisgICAgY2FsbE9u
TWFpblRocmVhZChmb3JtRmluaXNoRmluYWxpemF0aW9uT25NYWluVGhyZWFkLCBmb3JtKTsKK30K
Kwogc3RhdGljIEJvb2xlYW4gZm9ybU9wZW4oQ0ZSZWFkU3RyZWFtUmVmLCBDRlN0cmVhbUVycm9y
KiBlcnJvciwgQm9vbGVhbiogb3BlbkNvbXBsZXRlLCB2b2lkKiBjb250ZXh0KQogewogICAgIEZv
cm1TdHJlYW1GaWVsZHMqIGZvcm0gPSBzdGF0aWNfY2FzdDxGb3JtU3RyZWFtRmllbGRzKj4oY29u
dGV4dCk7CkBAIC00NzEsNyArNDg2LDcgQEAgdm9pZCBzZXRIVFRQQm9keShOU011dGFibGVVUkxS
ZXF1ZXN0ICpyZQogICAgIC8vIENyZWF0ZSBhbmQgc2V0IHRoZSBzdHJlYW0uCiAKICAgICAvLyBQ
YXNzIHRoZSBsZW5ndGggYWxvbmcgd2l0aCB0aGUgZm9ybURhdGEgc28gaXQgZG9lcyBub3QgaGF2
ZSB0byBiZSByZWNvbXB1dGVkLgotICAgIEZvcm1Db250ZXh0IGZvcm1Db250ZXh0ID0geyBmb3Jt
RGF0YS5yZWxlYXNlKCkubGVha1JlZigpLCBsZW5ndGggfTsKKyAgICBGb3JtQ29udGV4dCBmb3Jt
Q29udGV4dCA9IHsgZm9ybURhdGEucmVsZWFzZSgpLCBsZW5ndGggfTsKIAogICAgIFJldGFpblB0
cjxDRlJlYWRTdHJlYW1SZWY+IHN0cmVhbShBZG9wdENGLCB3a0NyZWF0ZUN1c3RvbUNGUmVhZFN0
cmVhbShmb3JtQ3JlYXRlLCBmb3JtRmluYWxpemUsCiAgICAgICAgIGZvcm1PcGVuLCBmb3JtUmVh
ZCwgZm9ybUNhblJlYWQsIGZvcm1DbG9zZSwgZm9ybVNjaGVkdWxlLCBmb3JtVW5zY2hlZHVsZSwK
QEAgLTQ4MSw3ICs0OTYsMTAgQEAgdm9pZCBzZXRIVFRQQm9keShOU011dGFibGVVUkxSZXF1ZXN0
ICpyZQogCiBGb3JtRGF0YSogaHR0cEJvZHlGcm9tU3RyZWFtKE5TSW5wdXRTdHJlYW0qIHN0cmVh
bSkKIHsKLSAgICByZXR1cm4gZ2V0U3RyZWFtRm9ybURhdGFNYXAoKS5nZXQoKENGUmVhZFN0cmVh
bVJlZilzdHJlYW0pLmdldCgpOworICAgIEZvcm1TdHJlYW1GaWVsZHMqIGZvcm1TdHJlYW0gPSBz
dGF0aWNfY2FzdDxGb3JtU3RyZWFtRmllbGRzKj4oTlNNYXBHZXQoc3RyZWFtRmllbGRzTWFwKCks
IHN0cmVhbSkpOworICAgIGlmICghZm9ybVN0cmVhbSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIGZvcm1TdHJlYW0tPmZvcm1EYXRhLmdldCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>
<flag name="review"
          id="117051"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>