<?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>46312</bug_id>
          
          <creation_ts>2010-09-22 15:01:21 -0700</creation_ts>
          <short_desc>Skia&apos;s safeRef() and safeUnref() functions are undefined on NULL pointers.</short_desc>
          <delta_ts>2010-09-23 13:16:58 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Steve VanDeBogart">vandebo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283272</commentid>
    <comment_count>0</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-22 15:01:21 -0700</bug_when>
    <thetext>Skia&apos;s safeRef() and safeUnref() functions are undefined on NULL pointers.  SkSafeRef() and SkSafeUnref() should be used instead.  Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283279</commentid>
    <comment_count>1</comment_count>
      <attachid>68450</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-22 15:06:57 -0700</bug_when>
    <thetext>Created attachment 68450
Use SkSafeRef/Unref instead of safeRef/Unref</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283318</commentid>
    <comment_count>2</comment_count>
      <attachid>68450</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-22 15:55:43 -0700</bug_when>
    <thetext>Comment on attachment 68450
Use SkSafeRef/Unref instead of safeRef/Unref

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

&gt; WebCore/platform/graphics/skia/PlatformContextSkia.cpp:165
&gt;      // Up the ref count of these. saveRef does nothing if &apos;this&apos; is NULL.

This comment is incorrect. Please update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283360</commentid>
    <comment_count>3</comment_count>
      <attachid>68470</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-22 16:33:18 -0700</bug_when>
    <thetext>Created attachment 68470
grep missed saveRef, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283362</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-22 16:34:34 -0700</bug_when>
    <thetext>Attachment 68470 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/graphics/skia/PlatformContextSkia.cpp:165:  Use 0 instead of NULL.  [readability/null] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283572</commentid>
    <comment_count>5</comment_count>
      <attachid>68450</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-23 03:17:48 -0700</bug_when>
    <thetext>Comment on attachment 68450
Use SkSafeRef/Unref instead of safeRef/Unref

Cleared David Levin&apos;s review+ from obsolete attachment 68450 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283637</commentid>
    <comment_count>6</comment_count>
      <attachid>68470</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-23 07:53:17 -0700</bug_when>
    <thetext>Comment on attachment 68470
grep missed saveRef, fixed.

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

&gt; WebCore/platform/graphics/skia/PlatformContextSkia.cpp:165
&gt; +    // Up the ref count of these. SkSafeRef does nothing if its argument is NULL.

Use 0 instead of NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283639</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-23 07:55:03 -0700</bug_when>
    <thetext>Why did this get put up for review again just to fix a comment?

If you want to use the commit queue, then just attach the patch as if you were going to land it (with the reviewer filled in and nits fixed). Then just mark the patch as cq+ (or get any committer to do so). No need for a new review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283703</commentid>
    <comment_count>8</comment_count>
      <attachid>68530</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-23 09:39:49 -0700</bug_when>
    <thetext>Created attachment 68530
Use 0 instead of NULL in comment to appease style bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283704</commentid>
    <comment_count>9</comment_count>
      <attachid>68531</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-23 09:41:48 -0700</bug_when>
    <thetext>Created attachment 68531
Fill in reviewer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283706</commentid>
    <comment_count>10</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-23 09:42:45 -0700</bug_when>
    <thetext>Sorry, I infrequently submit webkit patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283785</commentid>
    <comment_count>11</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2010-09-23 11:00:33 -0700</bug_when>
    <thetext>Landed by jhawkins as r68165.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283889</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 13:16:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68165 might have broken GTK Linux 32-bit Debug
The following changes are on the blame list:
http://trac.webkit.org/changeset/68163
http://trac.webkit.org/changeset/68164
http://trac.webkit.org/changeset/68165
http://trac.webkit.org/changeset/68166
http://trac.webkit.org/changeset/68167
http://trac.webkit.org/changeset/68168
http://trac.webkit.org/changeset/68169</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68450</attachid>
            <date>2010-09-22 15:06:57 -0700</date>
            <delta_ts>2010-09-23 03:17:48 -0700</delta_ts>
            <desc>Use SkSafeRef/Unref instead of safeRef/Unref</desc>
            <filename>saferef.patch</filename>
            <type>text/plain</type>
            <size>7811</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODA4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDktMjIgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2MzEyCisKKyAg
ICAgICAgVXNlIFNraWEncyBTa1NhZmVSZWYvU2tTYWZlVW5yZWYgZnVuY3Rpb25zIGluc3RlYWQg
b2Ygc2FmZVJlZi9zYWZlVW5yZWYuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxp
bnV4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhZGllbnRTa2lhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGF0dGVyblNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGF0dGVybjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1Db250ZXh0U2tpYTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ29udGV4dFNraWE6OlN0YXRlOjp+U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0U3Ryb2tlU2hhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29u
dGV4dFNraWE6OnNldEZpbGxTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0RGFzaFBhdGhFZmZlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3NraWEvU2tpYUZvbnRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6
CisKIDIwMTAtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwCShyZXZpc2lvbiA2ODA4MSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0Nv
bnRleHQqIGcKICAgICAgICAgaWYgKHRleHRNb2RlICYgY1RleHRGaWxsKSB7CiAgICAgICAgICAg
ICAvLyBJZiB3ZSBhbHNvIGZpbGxlZCwgd2UgZG9uJ3Qgd2FudCB0byBkcmF3IHNoYWRvd3MgdHdp
Y2UuCiAgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBGb250Q2hyb21pdW1XaW4uY3BwOjpw
YWludFNraWFUZXh0KCkgZm9yIG1vcmUgZGV0YWlscy4KLSAgICAgICAgICAgIHBhaW50LnNldExv
b3BlcigwKS0+c2FmZVVucmVmKCk7CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRM
b29wZXIoMCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dChnbHlw
aHMsIG51bUdseXBocyA8PCAxLCBwb3MsIHBhaW50KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51
eC5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3
Niw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QKICAgICAsIG1f
c3R5bGUoc3JjLm1fc3R5bGUpCiAgICAgLCBtX2hhcmZidXp6RmFjZShzcmMubV9oYXJmYnV6ekZh
Y2UpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAgIFNrU2FmZVJlZihtX3R5cGVm
YWNlKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNl
KiB0ZiwgY29uc3QgY2hhciogZmFtaWx5LCBmbG9hdCB0ZXh0U2l6ZSwgYm9vbCBmYWtlQm9sZCwg
Ym9vbCBmYWtlSXRhbGljKQpAQCAtODYsNyArODYsNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250
UGxhdGZvcm1EYXRhKFNrVHlwCiAgICAgLCBtX2Zha2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9m
YWtlSXRhbGljKGZha2VJdGFsaWMpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAg
IFNrU2FmZVJlZihtX3R5cGVmYWNlKTsKICAgICBxdWVyeVN5c3RlbUZvclJlbmRlclN0eWxlKCk7
CiB9CiAKQEAgLTk4LDEzICs5OCwxMyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKGNvbnN0CiAgICAgLCBtX2Zha2VJdGFsaWMoc3JjLm1fZmFrZUl0YWxpYykKICAgICAsIG1f
aGFyZmJ1enpGYWNlKHNyYy5tX2hhcmZidXp6RmFjZSkKIHsKLSAgICBtX3R5cGVmYWNlLT5zYWZl
UmVmKCk7CisgICAgU2tTYWZlUmVmKG1fdHlwZWZhY2UpOwogICAgIHF1ZXJ5U3lzdGVtRm9yUmVu
ZGVyU3R5bGUoKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQog
ewotICAgIG1fdHlwZWZhY2UtPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fdHlwZWZh
Y2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc3JjKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBHcmFkaWVudDo6
cGxhdGZvcm1EZXN0cm95KCkKIHsKICAgICBpZiAobV9ncmFkaWVudCkKLSAgICAgICAgbV9ncmFk
aWVudC0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fZ3JhZGllbnQpOwogICAg
IG1fZ3JhZGllbnQgPSAwOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGF0dGVyblNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QYXR0ZXJuU2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BhdHRlcm5Ta2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIs
NyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgUGF0dGVybjo6cGxhdGZvcm1E
ZXN0cm95KCkKIHsKLSAgICBtX3BhdHRlcm4tPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVm
KG1fcGF0dGVybik7CiAgICAgbV9wYXR0ZXJuID0gMDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAko
cmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MywxOCArMTYzLDE4IEBAIFBs
YXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1fY2FudmFzQ2xp
cEFwcGxpZWQob3RoZXIubV9jYW52YXNDbGlwQXBwbGllZCkKIHsKICAgICAvLyBVcCB0aGUgcmVm
IGNvdW50IG9mIHRoZXNlLiBzYXZlUmVmIGRvZXMgbm90aGluZyBpZiAndGhpcycgaXMgTlVMTC4K
LSAgICBtX2xvb3Blci0+c2FmZVJlZigpOwotICAgIG1fZGFzaC0+c2FmZVJlZigpOwotICAgIG1f
ZmlsbFNoYWRlci0+c2FmZVJlZigpOwotICAgIG1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7Cisg
ICAgU2tTYWZlUmVmKG1fbG9vcGVyKTsKKyAgICBTa1NhZmVSZWYobV9kYXNoKTsKKyAgICBTa1Nh
ZmVSZWYobV9maWxsU2hhZGVyKTsKKyAgICBTa1NhZmVSZWYobV9zdHJva2VTaGFkZXIpOwogfQog
CiBQbGF0Zm9ybUNvbnRleHRTa2lhOjpTdGF0ZTo6flN0YXRlKCkKIHsKLSAgICBtX2xvb3Blci0+
c2FmZVVucmVmKCk7Ci0gICAgbV9kYXNoLT5zYWZlVW5yZWYoKTsKLSAgICBtX2ZpbGxTaGFkZXIt
PnNhZmVVbnJlZigpOwotICAgIG1fc3Ryb2tlU2hhZGVyLT5zYWZlVW5yZWYoKTsKKyAgICBTa1Nh
ZmVVbnJlZihtX2xvb3Blcik7CisgICAgU2tTYWZlVW5yZWYobV9kYXNoKTsKKyAgICBTa1NhZmVV
bnJlZihtX2ZpbGxTaGFkZXIpOworICAgIFNrU2FmZVVucmVmKG1fc3Ryb2tlU2hhZGVyKTsKIH0K
IAogLy8gUmV0dXJucyBhIG5ldyBTdGF0ZSB3aXRoIGFsbCBvZiB0aGlzIG9iamVjdCdzIGluaGVy
aXRlZCBwcm9wZXJ0aWVzIGNvcGllZC4KQEAgLTMyNyw3ICszMjcsNyBAQCB2b2lkIFBsYXRmb3Jt
Q29udGV4dFNraWE6OmRyYXdSZWN0KFNrUmVjCiAKICAgICAgICAgLy8gc2V0RmlsbENvbG9yKCkg
d2lsbCBzZXQgdGhlIHNoYWRlciB0byBOVUxMLCBzbyBzYXZlIGEgcmVmIHRvIGl0IG5vdy4KICAg
ICAgICAgU2tTaGFkZXIqIG9sZEZpbGxTaGFkZXIgPSBtX3N0YXRlLT5tX2ZpbGxTaGFkZXI7Ci0g
ICAgICAgIG9sZEZpbGxTaGFkZXItPnNhZmVSZWYoKTsKKyAgICAgICAgU2tTYWZlUmVmKG9sZEZp
bGxTaGFkZXIpOwogICAgICAgICBzZXRGaWxsQ29sb3IobV9zdGF0ZS0+bV9zdHJva2VDb2xvcik7
CiAgICAgICAgIHBhaW50LnJlc2V0KCk7CiAgICAgICAgIHNldHVwUGFpbnRGb3JGaWxsaW5nKCZw
YWludCk7CkBAIC0zNDEsNyArMzQxLDcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpkcmF3
UmVjdChTa1JlYwogICAgICAgICBjYW52YXMoKS0+ZHJhd1JlY3QocmlnaHRCb3JkZXIsIHBhaW50
KTsKICAgICAgICAgc2V0RmlsbENvbG9yKG9sZEZpbGxDb2xvcik7CiAgICAgICAgIHNldEZpbGxT
aGFkZXIob2xkRmlsbFNoYWRlcik7Ci0gICAgICAgIG9sZEZpbGxTaGFkZXItPnNhZmVVbnJlZigp
OworICAgICAgICBTa1NhZmVVbnJlZihvbGRGaWxsU2hhZGVyKTsKICAgICB9CiB9CiAKQEAgLTQ4
Nyw5ICs0ODcsOSBAQCB2b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OnNldFN0cm9rZVRoaWNrCiB2
b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OnNldFN0cm9rZVNoYWRlcihTa1NoYWRlciogc3Ryb2tl
U2hhZGVyKQogewogICAgIGlmIChzdHJva2VTaGFkZXIgIT0gbV9zdGF0ZS0+bV9zdHJva2VTaGFk
ZXIpIHsKLSAgICAgICAgbV9zdGF0ZS0+bV9zdHJva2VTaGFkZXItPnNhZmVVbnJlZigpOworICAg
ICAgICBTa1NhZmVVbnJlZihtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcik7CiAgICAgICAgIG1fc3Rh
dGUtPm1fc3Ryb2tlU2hhZGVyID0gc3Ryb2tlU2hhZGVyOwotICAgICAgICBtX3N0YXRlLT5tX3N0
cm9rZVNoYWRlci0+c2FmZVJlZigpOworICAgICAgICBTa1NhZmVSZWYobV9zdGF0ZS0+bV9zdHJv
a2VTaGFkZXIpOwogICAgIH0KIH0KIApAQCAtNTYxLDkgKzU2MSw5IEBAIHZvaWQgUGxhdGZvcm1D
b250ZXh0U2tpYTo6c2V0RmlsbFJ1bGUoU2sKIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0
RmlsbFNoYWRlcihTa1NoYWRlciogZmlsbFNoYWRlcikKIHsKICAgICBpZiAoZmlsbFNoYWRlciAh
PSBtX3N0YXRlLT5tX2ZpbGxTaGFkZXIpIHsKLSAgICAgICAgbV9zdGF0ZS0+bV9maWxsU2hhZGVy
LT5zYWZlVW5yZWYoKTsKKyAgICAgICAgU2tTYWZlVW5yZWYobV9zdGF0ZS0+bV9maWxsU2hhZGVy
KTsKICAgICAgICAgbV9zdGF0ZS0+bV9maWxsU2hhZGVyID0gZmlsbFNoYWRlcjsKLSAgICAgICAg
bV9zdGF0ZS0+bV9maWxsU2hhZGVyLT5zYWZlUmVmKCk7CisgICAgICAgIFNrU2FmZVJlZihtX3N0
YXRlLT5tX2ZpbGxTaGFkZXIpOwogICAgIH0KIH0KIApAQCAtNTgwLDcgKzU4MCw3IEBAIHZvaWQg
UGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0SW50ZXJwb2xhdGkKIHZvaWQgUGxhdGZvcm1Db250ZXh0
U2tpYTo6c2V0RGFzaFBhdGhFZmZlY3QoU2tEYXNoUGF0aEVmZmVjdCogZGFzaCkKIHsKICAgICBp
ZiAoZGFzaCAhPSBtX3N0YXRlLT5tX2Rhc2gpIHsKLSAgICAgICAgbV9zdGF0ZS0+bV9kYXNoLT5z
YWZlVW5yZWYoKTsKKyAgICAgICAgU2tTYWZlVW5yZWYobV9zdGF0ZS0+bV9kYXNoKTsKICAgICAg
ICAgbV9zdGF0ZS0+bV9kYXNoID0gZGFzaDsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvU2tpYUZvbnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5jcHAJKHJldmlzaW9uIDY4MDgxKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQwLDcgKzM0MCw3IEBAIGJvb2wgcGFpbnRTa2lhVGV4dChHcmFwaGljc0Nv
bnRleHQqIGNvbnQKICAgICAgICAgICAgIC8vIHRoaW5nIHdvdWxkIGJlIHRvIGRyYXcgdG8gYSBu
ZXcgbGF5ZXIgYW5kIHRoZW4gZHJhdyB0aGF0IGxheWVyCiAgICAgICAgICAgICAvLyB3aXRoIGEg
c2hhZG93LiBCdXQgdGhpcyBpcyBhIGxvdCBvZiBleHRyYSB3b3JrIGZvciBzb21ldGhpbmcKICAg
ICAgICAgICAgIC8vIHRoYXQgaXNuJ3Qgbm9ybWFsbHkgYW4gaXNzdWUuCi0gICAgICAgICAgICBw
YWludC5zZXRMb29wZXIoMCktPnNhZmVVbnJlZigpOworICAgICAgICAgICAgU2tTYWZlVW5yZWYo
cGFpbnQuc2V0TG9vcGVyKDApKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghc2tpYURyYXdU
ZXh0KGhmb250LCBkYywgcGxhdGZvcm1Db250ZXh0LT5jYW52YXMoKSwgKm9yaWdpbiwgJnBhaW50
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68470</attachid>
            <date>2010-09-22 16:33:18 -0700</date>
            <delta_ts>2010-09-23 09:39:49 -0700</delta_ts>
            <desc>grep missed saveRef, fixed.</desc>
            <filename>saferef.patch</filename>
            <type>text/plain</type>
            <size>7954</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODA4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDktMjIgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2MzEyCisKKyAg
ICAgICAgVXNlIFNraWEncyBTa1NhZmVSZWYvU2tTYWZlVW5yZWYgZnVuY3Rpb25zIGluc3RlYWQg
b2Ygc2FmZVJlZi9zYWZlVW5yZWYuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxp
bnV4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhZGllbnRTa2lhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGF0dGVyblNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGF0dGVybjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1Db250ZXh0U2tpYTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ29udGV4dFNraWE6OlN0YXRlOjp+U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0U3Ryb2tlU2hhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29u
dGV4dFNraWE6OnNldEZpbGxTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0RGFzaFBhdGhFZmZlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3NraWEvU2tpYUZvbnRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6
CisKIDIwMTAtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwCShyZXZpc2lvbiA2ODA4MSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0Nv
bnRleHQqIGcKICAgICAgICAgaWYgKHRleHRNb2RlICYgY1RleHRGaWxsKSB7CiAgICAgICAgICAg
ICAvLyBJZiB3ZSBhbHNvIGZpbGxlZCwgd2UgZG9uJ3Qgd2FudCB0byBkcmF3IHNoYWRvd3MgdHdp
Y2UuCiAgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBGb250Q2hyb21pdW1XaW4uY3BwOjpw
YWludFNraWFUZXh0KCkgZm9yIG1vcmUgZGV0YWlscy4KLSAgICAgICAgICAgIHBhaW50LnNldExv
b3BlcigwKS0+c2FmZVVucmVmKCk7CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRM
b29wZXIoMCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dChnbHlw
aHMsIG51bUdseXBocyA8PCAxLCBwb3MsIHBhaW50KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51
eC5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3
Niw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QKICAgICAsIG1f
c3R5bGUoc3JjLm1fc3R5bGUpCiAgICAgLCBtX2hhcmZidXp6RmFjZShzcmMubV9oYXJmYnV6ekZh
Y2UpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAgIFNrU2FmZVJlZihtX3R5cGVm
YWNlKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNl
KiB0ZiwgY29uc3QgY2hhciogZmFtaWx5LCBmbG9hdCB0ZXh0U2l6ZSwgYm9vbCBmYWtlQm9sZCwg
Ym9vbCBmYWtlSXRhbGljKQpAQCAtODYsNyArODYsNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250
UGxhdGZvcm1EYXRhKFNrVHlwCiAgICAgLCBtX2Zha2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9m
YWtlSXRhbGljKGZha2VJdGFsaWMpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAg
IFNrU2FmZVJlZihtX3R5cGVmYWNlKTsKICAgICBxdWVyeVN5c3RlbUZvclJlbmRlclN0eWxlKCk7
CiB9CiAKQEAgLTk4LDEzICs5OCwxMyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKGNvbnN0CiAgICAgLCBtX2Zha2VJdGFsaWMoc3JjLm1fZmFrZUl0YWxpYykKICAgICAsIG1f
aGFyZmJ1enpGYWNlKHNyYy5tX2hhcmZidXp6RmFjZSkKIHsKLSAgICBtX3R5cGVmYWNlLT5zYWZl
UmVmKCk7CisgICAgU2tTYWZlUmVmKG1fdHlwZWZhY2UpOwogICAgIHF1ZXJ5U3lzdGVtRm9yUmVu
ZGVyU3R5bGUoKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQog
ewotICAgIG1fdHlwZWZhY2UtPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fdHlwZWZh
Y2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc3JjKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBHcmFkaWVudDo6
cGxhdGZvcm1EZXN0cm95KCkKIHsKICAgICBpZiAobV9ncmFkaWVudCkKLSAgICAgICAgbV9ncmFk
aWVudC0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fZ3JhZGllbnQpOwogICAg
IG1fZ3JhZGllbnQgPSAwOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGF0dGVyblNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QYXR0ZXJuU2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BhdHRlcm5Ta2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIs
NyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgUGF0dGVybjo6cGxhdGZvcm1E
ZXN0cm95KCkKIHsKLSAgICBtX3BhdHRlcm4tPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVm
KG1fcGF0dGVybik7CiAgICAgbV9wYXR0ZXJuID0gMDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAko
cmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MiwxOSArMTYyLDE5IEBAIFBs
YXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1faW50ZXJwb2xh
dGlvblF1YWxpdHkob3RoZXIubV9pbnRlcnBvbGF0aW9uUXVhbGl0eSkKICAgICAsIG1fY2FudmFz
Q2xpcEFwcGxpZWQob3RoZXIubV9jYW52YXNDbGlwQXBwbGllZCkKIHsKLSAgICAvLyBVcCB0aGUg
cmVmIGNvdW50IG9mIHRoZXNlLiBzYXZlUmVmIGRvZXMgbm90aGluZyBpZiAndGhpcycgaXMgTlVM
TC4KLSAgICBtX2xvb3Blci0+c2FmZVJlZigpOwotICAgIG1fZGFzaC0+c2FmZVJlZigpOwotICAg
IG1fZmlsbFNoYWRlci0+c2FmZVJlZigpOwotICAgIG1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7
CisgICAgLy8gVXAgdGhlIHJlZiBjb3VudCBvZiB0aGVzZS4gU2tTYWZlUmVmIGRvZXMgbm90aGlu
ZyBpZiBpdHMgYXJndW1lbnQgaXMgTlVMTC4KKyAgICBTa1NhZmVSZWYobV9sb29wZXIpOworICAg
IFNrU2FmZVJlZihtX2Rhc2gpOworICAgIFNrU2FmZVJlZihtX2ZpbGxTaGFkZXIpOworICAgIFNr
U2FmZVJlZihtX3N0cm9rZVNoYWRlcik7CiB9CiAKIFBsYXRmb3JtQ29udGV4dFNraWE6OlN0YXRl
Ojp+U3RhdGUoKQogewotICAgIG1fbG9vcGVyLT5zYWZlVW5yZWYoKTsKLSAgICBtX2Rhc2gtPnNh
ZmVVbnJlZigpOwotICAgIG1fZmlsbFNoYWRlci0+c2FmZVVucmVmKCk7Ci0gICAgbV9zdHJva2VT
aGFkZXItPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fbG9vcGVyKTsKKyAgICBTa1Nh
ZmVVbnJlZihtX2Rhc2gpOworICAgIFNrU2FmZVVucmVmKG1fZmlsbFNoYWRlcik7CisgICAgU2tT
YWZlVW5yZWYobV9zdHJva2VTaGFkZXIpOwogfQogCiAvLyBSZXR1cm5zIGEgbmV3IFN0YXRlIHdp
dGggYWxsIG9mIHRoaXMgb2JqZWN0J3MgaW5oZXJpdGVkIHByb3BlcnRpZXMgY29waWVkLgpAQCAt
MzI3LDcgKzMyNyw3IEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QoU2tSZWMK
IAogICAgICAgICAvLyBzZXRGaWxsQ29sb3IoKSB3aWxsIHNldCB0aGUgc2hhZGVyIHRvIE5VTEws
IHNvIHNhdmUgYSByZWYgdG8gaXQgbm93LgogICAgICAgICBTa1NoYWRlciogb2xkRmlsbFNoYWRl
ciA9IG1fc3RhdGUtPm1fZmlsbFNoYWRlcjsKLSAgICAgICAgb2xkRmlsbFNoYWRlci0+c2FmZVJl
ZigpOworICAgICAgICBTa1NhZmVSZWYob2xkRmlsbFNoYWRlcik7CiAgICAgICAgIHNldEZpbGxD
b2xvcihtX3N0YXRlLT5tX3N0cm9rZUNvbG9yKTsKICAgICAgICAgcGFpbnQucmVzZXQoKTsKICAg
ICAgICAgc2V0dXBQYWludEZvckZpbGxpbmcoJnBhaW50KTsKQEAgLTM0MSw3ICszNDEsNyBAQCB2
b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OmRyYXdSZWN0KFNrUmVjCiAgICAgICAgIGNhbnZhcygp
LT5kcmF3UmVjdChyaWdodEJvcmRlciwgcGFpbnQpOwogICAgICAgICBzZXRGaWxsQ29sb3Iob2xk
RmlsbENvbG9yKTsKICAgICAgICAgc2V0RmlsbFNoYWRlcihvbGRGaWxsU2hhZGVyKTsKLSAgICAg
ICAgb2xkRmlsbFNoYWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG9sZEZp
bGxTaGFkZXIpOwogICAgIH0KIH0KIApAQCAtNDg3LDkgKzQ4Nyw5IEBAIHZvaWQgUGxhdGZvcm1D
b250ZXh0U2tpYTo6c2V0U3Ryb2tlVGhpY2sKIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0
U3Ryb2tlU2hhZGVyKFNrU2hhZGVyKiBzdHJva2VTaGFkZXIpCiB7CiAgICAgaWYgKHN0cm9rZVNo
YWRlciAhPSBtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcikgewotICAgICAgICBtX3N0YXRlLT5tX3N0
cm9rZVNoYWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fc3RhdGUtPm1f
c3Ryb2tlU2hhZGVyKTsKICAgICAgICAgbV9zdGF0ZS0+bV9zdHJva2VTaGFkZXIgPSBzdHJva2VT
aGFkZXI7Ci0gICAgICAgIG1fc3RhdGUtPm1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7CisgICAg
ICAgIFNrU2FmZVJlZihtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcik7CiAgICAgfQogfQogCkBAIC01
NjEsOSArNTYxLDkgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsUnVsZShTawog
dm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsU2hhZGVyKFNrU2hhZGVyKiBmaWxsU2hh
ZGVyKQogewogICAgIGlmIChmaWxsU2hhZGVyICE9IG1fc3RhdGUtPm1fZmlsbFNoYWRlcikgewot
ICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVVbnJlZigpOworICAgICAgICBTa1Nh
ZmVVbnJlZihtX3N0YXRlLT5tX2ZpbGxTaGFkZXIpOwogICAgICAgICBtX3N0YXRlLT5tX2ZpbGxT
aGFkZXIgPSBmaWxsU2hhZGVyOwotICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVS
ZWYoKTsKKyAgICAgICAgU2tTYWZlUmVmKG1fc3RhdGUtPm1fZmlsbFNoYWRlcik7CiAgICAgfQog
fQogCkBAIC01ODAsNyArNTgwLDcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRJbnRl
cnBvbGF0aQogdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXREYXNoUGF0aEVmZmVjdChTa0Rh
c2hQYXRoRWZmZWN0KiBkYXNoKQogewogICAgIGlmIChkYXNoICE9IG1fc3RhdGUtPm1fZGFzaCkg
ewotICAgICAgICBtX3N0YXRlLT5tX2Rhc2gtPnNhZmVVbnJlZigpOworICAgICAgICBTa1NhZmVV
bnJlZihtX3N0YXRlLT5tX2Rhc2gpOwogICAgICAgICBtX3N0YXRlLT5tX2Rhc2ggPSBkYXNoOwog
ICAgIH0KIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFG
b250V2luLmNwcAkocmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvU2tpYUZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNyArMzQwLDcgQEAg
Ym9vbCBwYWludFNraWFUZXh0KEdyYXBoaWNzQ29udGV4dCogY29udAogICAgICAgICAgICAgLy8g
dGhpbmcgd291bGQgYmUgdG8gZHJhdyB0byBhIG5ldyBsYXllciBhbmQgdGhlbiBkcmF3IHRoYXQg
bGF5ZXIKICAgICAgICAgICAgIC8vIHdpdGggYSBzaGFkb3cuIEJ1dCB0aGlzIGlzIGEgbG90IG9m
IGV4dHJhIHdvcmsgZm9yIHNvbWV0aGluZwogICAgICAgICAgICAgLy8gdGhhdCBpc24ndCBub3Jt
YWxseSBhbiBpc3N1ZS4KLSAgICAgICAgICAgIHBhaW50LnNldExvb3BlcigwKS0+c2FmZVVucmVm
KCk7CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRMb29wZXIoMCkpOwogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKCFza2lhRHJhd1RleHQoaGZvbnQsIGRjLCBwbGF0Zm9ybUNvbnRl
eHQtPmNhbnZhcygpLCAqb3JpZ2luLCAmcGFpbnQsCg==
</data>
<flag name="review"
          id="57996"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68530</attachid>
            <date>2010-09-23 09:39:49 -0700</date>
            <delta_ts>2010-09-23 09:41:48 -0700</delta_ts>
            <desc>Use 0 instead of NULL in comment to appease style bot.</desc>
            <filename>saferef.patch</filename>
            <type>text/plain</type>
            <size>7951</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODA4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDktMjIgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2MzEyCisKKyAg
ICAgICAgVXNlIFNraWEncyBTa1NhZmVSZWYvU2tTYWZlVW5yZWYgZnVuY3Rpb25zIGluc3RlYWQg
b2Ygc2FmZVJlZi9zYWZlVW5yZWYuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxp
bnV4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhZGllbnRTa2lhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGF0dGVyblNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGF0dGVybjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1Db250ZXh0U2tpYTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtQ29udGV4dFNraWE6OlN0YXRlOjp+U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0U3Ryb2tlU2hhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29u
dGV4dFNraWE6OnNldEZpbGxTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0RGFzaFBhdGhFZmZlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3NraWEvU2tpYUZvbnRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6
CisKIDIwMTAtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwCShyZXZpc2lvbiA2ODA4MSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0Nv
bnRleHQqIGcKICAgICAgICAgaWYgKHRleHRNb2RlICYgY1RleHRGaWxsKSB7CiAgICAgICAgICAg
ICAvLyBJZiB3ZSBhbHNvIGZpbGxlZCwgd2UgZG9uJ3Qgd2FudCB0byBkcmF3IHNoYWRvd3MgdHdp
Y2UuCiAgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBGb250Q2hyb21pdW1XaW4uY3BwOjpw
YWludFNraWFUZXh0KCkgZm9yIG1vcmUgZGV0YWlscy4KLSAgICAgICAgICAgIHBhaW50LnNldExv
b3BlcigwKS0+c2FmZVVucmVmKCk7CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRM
b29wZXIoMCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dChnbHlw
aHMsIG51bUdseXBocyA8PCAxLCBwb3MsIHBhaW50KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51
eC5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3
Niw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QKICAgICAsIG1f
c3R5bGUoc3JjLm1fc3R5bGUpCiAgICAgLCBtX2hhcmZidXp6RmFjZShzcmMubV9oYXJmYnV6ekZh
Y2UpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAgIFNrU2FmZVJlZihtX3R5cGVm
YWNlKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNl
KiB0ZiwgY29uc3QgY2hhciogZmFtaWx5LCBmbG9hdCB0ZXh0U2l6ZSwgYm9vbCBmYWtlQm9sZCwg
Ym9vbCBmYWtlSXRhbGljKQpAQCAtODYsNyArODYsNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250
UGxhdGZvcm1EYXRhKFNrVHlwCiAgICAgLCBtX2Zha2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9m
YWtlSXRhbGljKGZha2VJdGFsaWMpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAg
IFNrU2FmZVJlZihtX3R5cGVmYWNlKTsKICAgICBxdWVyeVN5c3RlbUZvclJlbmRlclN0eWxlKCk7
CiB9CiAKQEAgLTk4LDEzICs5OCwxMyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKGNvbnN0CiAgICAgLCBtX2Zha2VJdGFsaWMoc3JjLm1fZmFrZUl0YWxpYykKICAgICAsIG1f
aGFyZmJ1enpGYWNlKHNyYy5tX2hhcmZidXp6RmFjZSkKIHsKLSAgICBtX3R5cGVmYWNlLT5zYWZl
UmVmKCk7CisgICAgU2tTYWZlUmVmKG1fdHlwZWZhY2UpOwogICAgIHF1ZXJ5U3lzdGVtRm9yUmVu
ZGVyU3R5bGUoKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQog
ewotICAgIG1fdHlwZWZhY2UtPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fdHlwZWZh
Y2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc3JjKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBHcmFkaWVudDo6
cGxhdGZvcm1EZXN0cm95KCkKIHsKICAgICBpZiAobV9ncmFkaWVudCkKLSAgICAgICAgbV9ncmFk
aWVudC0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fZ3JhZGllbnQpOwogICAg
IG1fZ3JhZGllbnQgPSAwOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGF0dGVyblNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QYXR0ZXJuU2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BhdHRlcm5Ta2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIs
NyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgUGF0dGVybjo6cGxhdGZvcm1E
ZXN0cm95KCkKIHsKLSAgICBtX3BhdHRlcm4tPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVm
KG1fcGF0dGVybik7CiAgICAgbV9wYXR0ZXJuID0gMDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAko
cmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MiwxOSArMTYyLDE5IEBAIFBs
YXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1faW50ZXJwb2xh
dGlvblF1YWxpdHkob3RoZXIubV9pbnRlcnBvbGF0aW9uUXVhbGl0eSkKICAgICAsIG1fY2FudmFz
Q2xpcEFwcGxpZWQob3RoZXIubV9jYW52YXNDbGlwQXBwbGllZCkKIHsKLSAgICAvLyBVcCB0aGUg
cmVmIGNvdW50IG9mIHRoZXNlLiBzYXZlUmVmIGRvZXMgbm90aGluZyBpZiAndGhpcycgaXMgTlVM
TC4KLSAgICBtX2xvb3Blci0+c2FmZVJlZigpOwotICAgIG1fZGFzaC0+c2FmZVJlZigpOwotICAg
IG1fZmlsbFNoYWRlci0+c2FmZVJlZigpOwotICAgIG1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7
CisgICAgLy8gVXAgdGhlIHJlZiBjb3VudCBvZiB0aGVzZS4gU2tTYWZlUmVmIGRvZXMgbm90aGlu
ZyBpZiBpdHMgYXJndW1lbnQgaXMgMC4KKyAgICBTa1NhZmVSZWYobV9sb29wZXIpOworICAgIFNr
U2FmZVJlZihtX2Rhc2gpOworICAgIFNrU2FmZVJlZihtX2ZpbGxTaGFkZXIpOworICAgIFNrU2Fm
ZVJlZihtX3N0cm9rZVNoYWRlcik7CiB9CiAKIFBsYXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjp+
U3RhdGUoKQogewotICAgIG1fbG9vcGVyLT5zYWZlVW5yZWYoKTsKLSAgICBtX2Rhc2gtPnNhZmVV
bnJlZigpOwotICAgIG1fZmlsbFNoYWRlci0+c2FmZVVucmVmKCk7Ci0gICAgbV9zdHJva2VTaGFk
ZXItPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fbG9vcGVyKTsKKyAgICBTa1NhZmVV
bnJlZihtX2Rhc2gpOworICAgIFNrU2FmZVVucmVmKG1fZmlsbFNoYWRlcik7CisgICAgU2tTYWZl
VW5yZWYobV9zdHJva2VTaGFkZXIpOwogfQogCiAvLyBSZXR1cm5zIGEgbmV3IFN0YXRlIHdpdGgg
YWxsIG9mIHRoaXMgb2JqZWN0J3MgaW5oZXJpdGVkIHByb3BlcnRpZXMgY29waWVkLgpAQCAtMzI3
LDcgKzMyNyw3IEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QoU2tSZWMKIAog
ICAgICAgICAvLyBzZXRGaWxsQ29sb3IoKSB3aWxsIHNldCB0aGUgc2hhZGVyIHRvIE5VTEwsIHNv
IHNhdmUgYSByZWYgdG8gaXQgbm93LgogICAgICAgICBTa1NoYWRlciogb2xkRmlsbFNoYWRlciA9
IG1fc3RhdGUtPm1fZmlsbFNoYWRlcjsKLSAgICAgICAgb2xkRmlsbFNoYWRlci0+c2FmZVJlZigp
OworICAgICAgICBTa1NhZmVSZWYob2xkRmlsbFNoYWRlcik7CiAgICAgICAgIHNldEZpbGxDb2xv
cihtX3N0YXRlLT5tX3N0cm9rZUNvbG9yKTsKICAgICAgICAgcGFpbnQucmVzZXQoKTsKICAgICAg
ICAgc2V0dXBQYWludEZvckZpbGxpbmcoJnBhaW50KTsKQEAgLTM0MSw3ICszNDEsNyBAQCB2b2lk
IFBsYXRmb3JtQ29udGV4dFNraWE6OmRyYXdSZWN0KFNrUmVjCiAgICAgICAgIGNhbnZhcygpLT5k
cmF3UmVjdChyaWdodEJvcmRlciwgcGFpbnQpOwogICAgICAgICBzZXRGaWxsQ29sb3Iob2xkRmls
bENvbG9yKTsKICAgICAgICAgc2V0RmlsbFNoYWRlcihvbGRGaWxsU2hhZGVyKTsKLSAgICAgICAg
b2xkRmlsbFNoYWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG9sZEZpbGxT
aGFkZXIpOwogICAgIH0KIH0KIApAQCAtNDg3LDkgKzQ4Nyw5IEBAIHZvaWQgUGxhdGZvcm1Db250
ZXh0U2tpYTo6c2V0U3Ryb2tlVGhpY2sKIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0U3Ry
b2tlU2hhZGVyKFNrU2hhZGVyKiBzdHJva2VTaGFkZXIpCiB7CiAgICAgaWYgKHN0cm9rZVNoYWRl
ciAhPSBtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcikgewotICAgICAgICBtX3N0YXRlLT5tX3N0cm9r
ZVNoYWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fc3RhdGUtPm1fc3Ry
b2tlU2hhZGVyKTsKICAgICAgICAgbV9zdGF0ZS0+bV9zdHJva2VTaGFkZXIgPSBzdHJva2VTaGFk
ZXI7Ci0gICAgICAgIG1fc3RhdGUtPm1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7CisgICAgICAg
IFNrU2FmZVJlZihtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcik7CiAgICAgfQogfQogCkBAIC01NjEs
OSArNTYxLDkgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsUnVsZShTawogdm9p
ZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsU2hhZGVyKFNrU2hhZGVyKiBmaWxsU2hhZGVy
KQogewogICAgIGlmIChmaWxsU2hhZGVyICE9IG1fc3RhdGUtPm1fZmlsbFNoYWRlcikgewotICAg
ICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVVbnJlZigpOworICAgICAgICBTa1NhZmVV
bnJlZihtX3N0YXRlLT5tX2ZpbGxTaGFkZXIpOwogICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFk
ZXIgPSBmaWxsU2hhZGVyOwotICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVSZWYo
KTsKKyAgICAgICAgU2tTYWZlUmVmKG1fc3RhdGUtPm1fZmlsbFNoYWRlcik7CiAgICAgfQogfQog
CkBAIC01ODAsNyArNTgwLDcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRJbnRlcnBv
bGF0aQogdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXREYXNoUGF0aEVmZmVjdChTa0Rhc2hQ
YXRoRWZmZWN0KiBkYXNoKQogewogICAgIGlmIChkYXNoICE9IG1fc3RhdGUtPm1fZGFzaCkgewot
ICAgICAgICBtX3N0YXRlLT5tX2Rhc2gtPnNhZmVVbnJlZigpOworICAgICAgICBTa1NhZmVVbnJl
ZihtX3N0YXRlLT5tX2Rhc2gpOwogICAgICAgICBtX3N0YXRlLT5tX2Rhc2ggPSBkYXNoOwogICAg
IH0KIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250
V2luLmNwcAkocmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvU2tpYUZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNyArMzQwLDcgQEAgYm9v
bCBwYWludFNraWFUZXh0KEdyYXBoaWNzQ29udGV4dCogY29udAogICAgICAgICAgICAgLy8gdGhp
bmcgd291bGQgYmUgdG8gZHJhdyB0byBhIG5ldyBsYXllciBhbmQgdGhlbiBkcmF3IHRoYXQgbGF5
ZXIKICAgICAgICAgICAgIC8vIHdpdGggYSBzaGFkb3cuIEJ1dCB0aGlzIGlzIGEgbG90IG9mIGV4
dHJhIHdvcmsgZm9yIHNvbWV0aGluZwogICAgICAgICAgICAgLy8gdGhhdCBpc24ndCBub3JtYWxs
eSBhbiBpc3N1ZS4KLSAgICAgICAgICAgIHBhaW50LnNldExvb3BlcigwKS0+c2FmZVVucmVmKCk7
CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRMb29wZXIoMCkpOwogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCFza2lhRHJhd1RleHQoaGZvbnQsIGRjLCBwbGF0Zm9ybUNvbnRleHQt
PmNhbnZhcygpLCAqb3JpZ2luLCAmcGFpbnQsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68531</attachid>
            <date>2010-09-23 09:41:48 -0700</date>
            <delta_ts>2010-09-23 11:01:08 -0700</delta_ts>
            <desc>Fill in reviewer</desc>
            <filename>saferef.patch</filename>
            <type>text/plain</type>
            <size>7948</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODA4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMDktMjIgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2MzEyCisKKyAgICAg
ICAgVXNlIFNraWEncyBTa1NhZmVSZWYvU2tTYWZlVW5yZWYgZnVuY3Rpb25zIGluc3RlYWQgb2Yg
c2FmZVJlZi9zYWZlVW5yZWYuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhZGllbnRTa2lhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYWRpZW50OjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGF0dGVyblNraWEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGF0dGVybjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Db250ZXh0U2tpYTo6U3RhdGU6OlN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3Jt
Q29udGV4dFNraWE6OlN0YXRlOjp+U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1D
b250ZXh0U2tpYTo6ZHJhd1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0
U2tpYTo6c2V0U3Ryb2tlU2hhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29udGV4
dFNraWE6OnNldEZpbGxTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1Db250ZXh0
U2tpYTo6c2V0RGFzaFBhdGhFZmZlY3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvU2tpYUZvbnRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa2lhVGV4dCk6CisK
IDIwMTAtMDktMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwCShyZXZpc2lvbiA2ODA4MSkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0NvbnRl
eHQqIGcKICAgICAgICAgaWYgKHRleHRNb2RlICYgY1RleHRGaWxsKSB7CiAgICAgICAgICAgICAv
LyBJZiB3ZSBhbHNvIGZpbGxlZCwgd2UgZG9uJ3Qgd2FudCB0byBkcmF3IHNoYWRvd3MgdHdpY2Uu
CiAgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBGb250Q2hyb21pdW1XaW4uY3BwOjpwYWlu
dFNraWFUZXh0KCkgZm9yIG1vcmUgZGV0YWlscy4KLSAgICAgICAgICAgIHBhaW50LnNldExvb3Bl
cigwKS0+c2FmZVVucmVmKCk7CisgICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRMb29w
ZXIoMCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dChnbHlwaHMs
IG51bUdseXBocyA8PCAxLCBwb3MsIHBhaW50KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udFBsYXRmb3JtRGF0YUxpbnV4LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRQbGF0Zm9ybURhdGFMaW51eC5j
cHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250UGxhdGZvcm1EYXRhTGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3
IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QKICAgICAsIG1fc3R5
bGUoc3JjLm1fc3R5bGUpCiAgICAgLCBtX2hhcmZidXp6RmFjZShzcmMubV9oYXJmYnV6ekZhY2Up
CiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAgIFNrU2FmZVJlZihtX3R5cGVmYWNl
KTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShTa1R5cGVmYWNlKiB0
ZiwgY29uc3QgY2hhciogZmFtaWx5LCBmbG9hdCB0ZXh0U2l6ZSwgYm9vbCBmYWtlQm9sZCwgYm9v
bCBmYWtlSXRhbGljKQpAQCAtODYsNyArODYsNyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxh
dGZvcm1EYXRhKFNrVHlwCiAgICAgLCBtX2Zha2VCb2xkKGZha2VCb2xkKQogICAgICwgbV9mYWtl
SXRhbGljKGZha2VJdGFsaWMpCiB7Ci0gICAgbV90eXBlZmFjZS0+c2FmZVJlZigpOworICAgIFNr
U2FmZVJlZihtX3R5cGVmYWNlKTsKICAgICBxdWVyeVN5c3RlbUZvclJlbmRlclN0eWxlKCk7CiB9
CiAKQEAgLTk4LDEzICs5OCwxMyBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRh
KGNvbnN0CiAgICAgLCBtX2Zha2VJdGFsaWMoc3JjLm1fZmFrZUl0YWxpYykKICAgICAsIG1faGFy
ZmJ1enpGYWNlKHNyYy5tX2hhcmZidXp6RmFjZSkKIHsKLSAgICBtX3R5cGVmYWNlLT5zYWZlUmVm
KCk7CisgICAgU2tTYWZlUmVmKG1fdHlwZWZhY2UpOwogICAgIHF1ZXJ5U3lzdGVtRm9yUmVuZGVy
U3R5bGUoKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQogewot
ICAgIG1fdHlwZWZhY2UtPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fdHlwZWZhY2Up
OwogfQogCiBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYgc3JjKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYWRpZW50U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYWRpZW50U2tpYS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBHcmFkaWVudDo6cGxh
dGZvcm1EZXN0cm95KCkKIHsKICAgICBpZiAobV9ncmFkaWVudCkKLSAgICAgICAgbV9ncmFkaWVu
dC0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fZ3JhZGllbnQpOwogICAgIG1f
Z3JhZGllbnQgPSAwOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
UGF0dGVyblNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QYXR0ZXJuU2tpYS5jcHAJKHJldmlzaW9uIDY4MDgxKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BhdHRlcm5Ta2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyAr
NDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgUGF0dGVybjo6cGxhdGZvcm1EZXN0
cm95KCkKIHsKLSAgICBtX3BhdHRlcm4tPnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1f
cGF0dGVybik7CiAgICAgbV9wYXR0ZXJuID0gMDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAkocmV2
aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MiwxOSArMTYyLDE5IEBAIFBsYXRm
b3JtQ29udGV4dFNraWE6OlN0YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1faW50ZXJwb2xhdGlv
blF1YWxpdHkob3RoZXIubV9pbnRlcnBvbGF0aW9uUXVhbGl0eSkKICAgICAsIG1fY2FudmFzQ2xp
cEFwcGxpZWQob3RoZXIubV9jYW52YXNDbGlwQXBwbGllZCkKIHsKLSAgICAvLyBVcCB0aGUgcmVm
IGNvdW50IG9mIHRoZXNlLiBzYXZlUmVmIGRvZXMgbm90aGluZyBpZiAndGhpcycgaXMgTlVMTC4K
LSAgICBtX2xvb3Blci0+c2FmZVJlZigpOwotICAgIG1fZGFzaC0+c2FmZVJlZigpOwotICAgIG1f
ZmlsbFNoYWRlci0+c2FmZVJlZigpOwotICAgIG1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7Cisg
ICAgLy8gVXAgdGhlIHJlZiBjb3VudCBvZiB0aGVzZS4gU2tTYWZlUmVmIGRvZXMgbm90aGluZyBp
ZiBpdHMgYXJndW1lbnQgaXMgMC4KKyAgICBTa1NhZmVSZWYobV9sb29wZXIpOworICAgIFNrU2Fm
ZVJlZihtX2Rhc2gpOworICAgIFNrU2FmZVJlZihtX2ZpbGxTaGFkZXIpOworICAgIFNrU2FmZVJl
ZihtX3N0cm9rZVNoYWRlcik7CiB9CiAKIFBsYXRmb3JtQ29udGV4dFNraWE6OlN0YXRlOjp+U3Rh
dGUoKQogewotICAgIG1fbG9vcGVyLT5zYWZlVW5yZWYoKTsKLSAgICBtX2Rhc2gtPnNhZmVVbnJl
ZigpOwotICAgIG1fZmlsbFNoYWRlci0+c2FmZVVucmVmKCk7Ci0gICAgbV9zdHJva2VTaGFkZXIt
PnNhZmVVbnJlZigpOworICAgIFNrU2FmZVVucmVmKG1fbG9vcGVyKTsKKyAgICBTa1NhZmVVbnJl
ZihtX2Rhc2gpOworICAgIFNrU2FmZVVucmVmKG1fZmlsbFNoYWRlcik7CisgICAgU2tTYWZlVW5y
ZWYobV9zdHJva2VTaGFkZXIpOwogfQogCiAvLyBSZXR1cm5zIGEgbmV3IFN0YXRlIHdpdGggYWxs
IG9mIHRoaXMgb2JqZWN0J3MgaW5oZXJpdGVkIHByb3BlcnRpZXMgY29waWVkLgpAQCAtMzI3LDcg
KzMyNyw3IEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6ZHJhd1JlY3QoU2tSZWMKIAogICAg
ICAgICAvLyBzZXRGaWxsQ29sb3IoKSB3aWxsIHNldCB0aGUgc2hhZGVyIHRvIE5VTEwsIHNvIHNh
dmUgYSByZWYgdG8gaXQgbm93LgogICAgICAgICBTa1NoYWRlciogb2xkRmlsbFNoYWRlciA9IG1f
c3RhdGUtPm1fZmlsbFNoYWRlcjsKLSAgICAgICAgb2xkRmlsbFNoYWRlci0+c2FmZVJlZigpOwor
ICAgICAgICBTa1NhZmVSZWYob2xkRmlsbFNoYWRlcik7CiAgICAgICAgIHNldEZpbGxDb2xvciht
X3N0YXRlLT5tX3N0cm9rZUNvbG9yKTsKICAgICAgICAgcGFpbnQucmVzZXQoKTsKICAgICAgICAg
c2V0dXBQYWludEZvckZpbGxpbmcoJnBhaW50KTsKQEAgLTM0MSw3ICszNDEsNyBAQCB2b2lkIFBs
YXRmb3JtQ29udGV4dFNraWE6OmRyYXdSZWN0KFNrUmVjCiAgICAgICAgIGNhbnZhcygpLT5kcmF3
UmVjdChyaWdodEJvcmRlciwgcGFpbnQpOwogICAgICAgICBzZXRGaWxsQ29sb3Iob2xkRmlsbENv
bG9yKTsKICAgICAgICAgc2V0RmlsbFNoYWRlcihvbGRGaWxsU2hhZGVyKTsKLSAgICAgICAgb2xk
RmlsbFNoYWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG9sZEZpbGxTaGFk
ZXIpOwogICAgIH0KIH0KIApAQCAtNDg3LDkgKzQ4Nyw5IEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0
U2tpYTo6c2V0U3Ryb2tlVGhpY2sKIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0U3Ryb2tl
U2hhZGVyKFNrU2hhZGVyKiBzdHJva2VTaGFkZXIpCiB7CiAgICAgaWYgKHN0cm9rZVNoYWRlciAh
PSBtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcikgewotICAgICAgICBtX3N0YXRlLT5tX3N0cm9rZVNo
YWRlci0+c2FmZVVucmVmKCk7CisgICAgICAgIFNrU2FmZVVucmVmKG1fc3RhdGUtPm1fc3Ryb2tl
U2hhZGVyKTsKICAgICAgICAgbV9zdGF0ZS0+bV9zdHJva2VTaGFkZXIgPSBzdHJva2VTaGFkZXI7
Ci0gICAgICAgIG1fc3RhdGUtPm1fc3Ryb2tlU2hhZGVyLT5zYWZlUmVmKCk7CisgICAgICAgIFNr
U2FmZVJlZihtX3N0YXRlLT5tX3N0cm9rZVNoYWRlcik7CiAgICAgfQogfQogCkBAIC01NjEsOSAr
NTYxLDkgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsUnVsZShTawogdm9pZCBQ
bGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRGaWxsU2hhZGVyKFNrU2hhZGVyKiBmaWxsU2hhZGVyKQog
ewogICAgIGlmIChmaWxsU2hhZGVyICE9IG1fc3RhdGUtPm1fZmlsbFNoYWRlcikgewotICAgICAg
ICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVVbnJlZigpOworICAgICAgICBTa1NhZmVVbnJl
ZihtX3N0YXRlLT5tX2ZpbGxTaGFkZXIpOwogICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXIg
PSBmaWxsU2hhZGVyOwotICAgICAgICBtX3N0YXRlLT5tX2ZpbGxTaGFkZXItPnNhZmVSZWYoKTsK
KyAgICAgICAgU2tTYWZlUmVmKG1fc3RhdGUtPm1fZmlsbFNoYWRlcik7CiAgICAgfQogfQogCkBA
IC01ODAsNyArNTgwLDcgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRJbnRlcnBvbGF0
aQogdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXREYXNoUGF0aEVmZmVjdChTa0Rhc2hQYXRo
RWZmZWN0KiBkYXNoKQogewogICAgIGlmIChkYXNoICE9IG1fc3RhdGUtPm1fZGFzaCkgewotICAg
ICAgICBtX3N0YXRlLT5tX2Rhc2gtPnNhZmVVbnJlZigpOworICAgICAgICBTa1NhZmVVbnJlZiht
X3N0YXRlLT5tX2Rhc2gpOwogICAgICAgICBtX3N0YXRlLT5tX2Rhc2ggPSBkYXNoOwogICAgIH0K
IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhRm9udFdpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFGb250V2lu
LmNwcAkocmV2aXNpb24gNjgwODEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
U2tpYUZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNyArMzQwLDcgQEAgYm9vbCBw
YWludFNraWFUZXh0KEdyYXBoaWNzQ29udGV4dCogY29udAogICAgICAgICAgICAgLy8gdGhpbmcg
d291bGQgYmUgdG8gZHJhdyB0byBhIG5ldyBsYXllciBhbmQgdGhlbiBkcmF3IHRoYXQgbGF5ZXIK
ICAgICAgICAgICAgIC8vIHdpdGggYSBzaGFkb3cuIEJ1dCB0aGlzIGlzIGEgbG90IG9mIGV4dHJh
IHdvcmsgZm9yIHNvbWV0aGluZwogICAgICAgICAgICAgLy8gdGhhdCBpc24ndCBub3JtYWxseSBh
biBpc3N1ZS4KLSAgICAgICAgICAgIHBhaW50LnNldExvb3BlcigwKS0+c2FmZVVucmVmKCk7Cisg
ICAgICAgICAgICBTa1NhZmVVbnJlZihwYWludC5zZXRMb29wZXIoMCkpOwogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKCFza2lhRHJhd1RleHQoaGZvbnQsIGRjLCBwbGF0Zm9ybUNvbnRleHQtPmNh
bnZhcygpLCAqb3JpZ2luLCAmcGFpbnQsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>