<?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>118248</bug_id>
          
          <creation_ts>2013-07-01 08:26:51 -0700</creation_ts>
          <short_desc>[ATK] Leak: leaks in WebKitAccessibleInterfaceText</short_desc>
          <delta_ts>2013-07-02 01:26:12 -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>Accessibility</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>
          
          <blocked>116317</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Brian Holt">brian.holt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>philn</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905034</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-01 08:26:51 -0700</bug_when>
    <thetext>In Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceText.cpp

Leaks found using the &quot;--leak&quot; option in the Gtk port:

{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:malloc
   fun:realloc
   fun:g_realloc
   fun:g_string_maybe_expand
   fun:g_string_sized_new
   fun:_ZL13textForObjectPN7WebCore19AccessibilityObjectE
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZN22AccessibilityUIElement11stringValueEv
   fun:_ZL22getStringValueCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:llint_slow_path_get_by_id
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_14EvalExecutableEPNS_9ExecStateENS_7JSValueEPNS_7JSScopeE
   fun:_ZN3JSC4evalEPNS_9ExecStateE
   fun:cti_op_call_eval
   obj:*
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE
}

{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZL23webkitAccessibleGetNameP10_AtkObject
   fun:_ZN22AccessibilityUIElement5titleEv
   fun:_ZL16getTitleCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:llint_slow_path_get_by_id
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_14EvalExecutableEPNS_9ExecStateENS_7JSValueEPNS_7JSScopeE
   fun:_ZN3JSC4evalEPNS_9ExecStateE
   fun:llint_slow_path_call_eval
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController20executeScriptInWorldEPNS_15DOMWrapperWorldERKN3WTF6StringEb
   fun:_ZN7WebCore15ScheduledAction7executeEPNS_8DocumentE
   fun:_ZN7WebCore8DOMTimer5firedEv
   fun:_ZN7WebCore12ThreadTimers24sharedTimerFiredInternalEv
}

{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:realloc
   fun:g_realloc
   fun:g_string_maybe_expand
   fun:g_string_insert_len
   fun:_ZL15textForRendererPN7WebCore12RenderObjectE
   fun:_ZL15textForRendererPN7WebCore12RenderObjectE
   fun:_ZL15textForRendererPN7WebCore12RenderObjectE
   fun:_ZL13textForObjectPN7WebCore19AccessibilityObjectE
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZN22AccessibilityUIElement11stringValueEv
   fun:_ZL22getStringValueCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:llint_slow_path_get_by_id
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13prepareScriptERKN3WTF12TextPositionENS0_17LegacyTypeSupportE
   fun:_ZN7WebCore16HTMLScriptRunner9runScriptEPNS_7ElementERKN3WTF12TextPositionE
}

{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:malloc
   fun:realloc
   fun:g_realloc
   fun:g_string_maybe_expand
   fun:g_string_sized_new
   fun:_ZL13textForObjectPN7WebCore19AccessibilityObjectE
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZN22AccessibilityUIElement11stringValueEv
   fun:_ZL22getStringValueCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:llint_slow_path_get_by_id
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13prepareScriptERKN3WTF12TextPositionENS0_17LegacyTypeSupportE
   fun:_ZN7WebCore16HTMLScriptRunner9runScriptEPNS_7ElementERKN3WTF12TextPositionE
   fun:_ZN7WebCore16HTMLScriptRunner7executeEN3WTF10PassRefPtrINS_7ElementEEERKNS1_12TextPositionE
   fun:_ZN7WebCore18HTMLDocumentParser30runScriptsForPausedTreeBuilderEv
}
{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:realloc
   fun:g_realloc
   fun:g_string_maybe_expand
   fun:g_string_insert_len
   fun:_ZL13textForObjectPN7WebCore19AccessibilityObjectE
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZN22AccessibilityUIElement11stringValueEv
   fun:_ZL22getStringValueCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:_ZNK3JSC7JSValue3getEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:cti_op_get_by_id_generic
   obj:*
   fun:_ZN3JSC11Interpreter7executeEPNS_14EvalExecutableEPNS_9ExecStateENS_7JSValueEPNS_7JSScopeE
   fun:_ZN3JSC4evalEPNS_9ExecStateE
   fun:cti_op_call_eval
   obj:*
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE
}

{
   &lt;insert_a_suppression_name_here&gt;
   Memcheck:Leak
   fun:realloc
   fun:g_realloc
   fun:g_string_maybe_expand
   fun:g_string_insert_len
   fun:_ZL13textForObjectPN7WebCore19AccessibilityObjectE
   fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
   fun:_ZN22AccessibilityUIElement11stringValueEv
   fun:_ZL22getStringValueCallbackPK15OpaqueJSContextP13OpaqueJSValueP14OpaqueJSStringPPKS2_
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE14getStaticValueEPNS_9ExecStateENS_12PropertyNameE
   fun:_ZN3JSC16JSCallbackObjectINS_20JSDestructibleObjectEE18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
   fun:llint_slow_path_get_by_id
   obj:/home/likewise-open/SERILOCAL/brian.holt/Code/gnome3/WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0.14.1
   fun:_ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE
   fun:_ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_
   fun:_ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeEPNS_15DOMWrapperWorldE
   fun:_ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE
   fun:_ZN7WebCore13ScriptElement13prepareScriptERKN3WTF12TextPositionENS0_17LegacyTypeSupportE
   fun:_ZN7WebCore16HTMLScriptRunner9runScriptEPNS_7ElementERKN3WTF12TextPositionE
   fun:_ZN7WebCore16HTMLScriptRunner7executeEN3WTF10PassRefPtrINS_7ElementEEERKNS1_12TextPositionE
   fun:_ZN7WebCore18HTMLDocumentParser30runScriptsForPausedTreeBuilderEv
   fun:_ZN7WebCore18HTMLDocumentParser16canTakeNextTokenENS0_15SynchronousModeERNS_11PumpSessionE
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905042</commentid>
    <comment_count>1</comment_count>
      <attachid>205814</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-01 08:50:37 -0700</bug_when>
    <thetext>Created attachment 205814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905043</commentid>
    <comment_count>2</comment_count>
      <attachid>205814</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-01 08:53:59 -0700</bug_when>
    <thetext>Comment on attachment 205814
Patch

Attachment 205814 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1015137</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905044</commentid>
    <comment_count>3</comment_count>
      <attachid>205814</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-01 08:57:01 -0700</bug_when>
    <thetext>Comment on attachment 205814
Patch

Attachment 205814 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1001512</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905045</commentid>
    <comment_count>4</comment_count>
      <attachid>205815</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-01 08:59:46 -0700</bug_when>
    <thetext>Created attachment 205815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905047</commentid>
    <comment_count>5</comment_count>
      <attachid>205815</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-01 09:02:33 -0700</bug_when>
    <thetext>Comment on attachment 205815
Patch

Attachment 205815 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/1017025</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905049</commentid>
    <comment_count>6</comment_count>
      <attachid>205815</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-07-01 09:04:05 -0700</bug_when>
    <thetext>Comment on attachment 205815
Patch

Attachment 205815 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/919841</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905051</commentid>
    <comment_count>7</comment_count>
      <attachid>205815</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-07-01 09:04:49 -0700</bug_when>
    <thetext>Comment on attachment 205815
Patch

Attachment 205815 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/887652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905063</commentid>
    <comment_count>8</comment_count>
      <attachid>205817</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-01 09:25:09 -0700</bug_when>
    <thetext>Created attachment 205817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905069</commentid>
    <comment_count>9</comment_count>
      <attachid>205817</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-01 09:35:15 -0700</bug_when>
    <thetext>Comment on attachment 205817
Patch

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

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceText.cpp:97
&gt; +            GOwnPtr&lt;char&gt; objectText(textForRenderer(object));

This could be moved to the if() scope to avoid uselessly calling textForRenderer() when the condition is false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905074</commentid>
    <comment_count>10</comment_count>
      <attachid>205817</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-01 09:45:13 -0700</bug_when>
    <thetext>Comment on attachment 205817
Patch

Looks good. r=me but please fix the nit before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905079</commentid>
    <comment_count>11</comment_count>
      <attachid>205818</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-01 10:10:29 -0700</bug_when>
    <thetext>Created attachment 205818
Final patch

Requesting CQ because I&apos;m not a committer yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905080</commentid>
    <comment_count>12</comment_count>
      <attachid>205818</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-01 10:13:38 -0700</bug_when>
    <thetext>Comment on attachment 205818
Final patch

No need to set r? as this was already reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905096</commentid>
    <comment_count>13</comment_count>
      <attachid>205818</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-01 11:05:15 -0700</bug_when>
    <thetext>Comment on attachment 205818
Final patch

Clearing flags on attachment: 205818

Committed r152232: &lt;http://trac.webkit.org/changeset/152232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905097</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-01 11:05:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905286</commentid>
    <comment_count>15</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-02 01:26:12 -0700</bug_when>
    <thetext>Thanks very much Christophe!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205814</attachid>
            <date>2013-07-01 08:50:37 -0700</date>
            <delta_ts>2013-07-01 08:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118248-20130701164842.patch</filename>
            <type>text/plain</type>
            <size>3357</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2YTFmOTE1Nzc4ZThl
YmMwYzY0YjkxZTA3NTIyM2U0YzgyMzFmOS4uMzZiN2UyMzVkZmMwMWJjZDViMDQzYTMyZmQyNmRj
Y2Y1N2FmMGQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTAxICBCcmlh
biBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBMZWFrOiBs
ZWFrcyBpbiBXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjQ4CisKKyAgICAgICAgRml4ZWQgbWVt
b3J5IGxlYWtzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3Bw
OgorICAgICAgICAoZ2V0UGFuZ29MYXlvdXRGb3JBdGspOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVRleHRHZXRUZXh0KToKKwogMjAxMy0wNy0wMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8
YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEF2b2lkIGNyZWF0aW5nIGEg
UVdpbmRvdyBmb3Igb2Zmc2NyZWVuIEdyYXBoaWNzQ29udGV4dDNECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVGV4dC5jcHAKaW5kZXggZTBiYzczMjM2MzJiOTYxMTIzMTVjOGMzMWU1ODNmNTE2
YTFiNThiZi4uNzU2NDU2MjYxNDRhMDY1N2E1NmNmNzEzNmFkNGExNzc1ZWU1NTlmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcApAQCAtOTQsOCArOTQsOSBAQCBzdGF0aWMg
Z2NoYXIqIHRleHRGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICAgICAg
ICAgLy8gY3VycmVudCBvYmplY3QgaXMgbm90IGEgdGV4dCBvYmplY3QgYnV0IHNvbWUgb2YgaXRz
CiAgICAgICAgICAgICAvLyBjaGlsZHJlbiBhcmUsIGluIG9yZGVyIG5vdCB0byBtaXNzIHRob3Nl
IHBvcnRpb25zIG9mCiAgICAgICAgICAgICAvLyB0ZXh0IGJ5IG5vdCBwcm9wZXJseSBoYW5kbGlu
ZyB0aG9zZSBzaXR1YXRpb25zCisgICAgICAgICAgICBHT3duUHRyPGNoYXI+IG9iamVjdFRleHQg
PSB0ZXh0Rm9yUmVuZGVyZXIob2JqZWN0KTsKICAgICAgICAgICAgIGlmIChvYmplY3QtPmZpcnN0
Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocmVzdWx0VGV4dCwgdGV4
dEZvclJlbmRlcmVyKG9iamVjdCkpOworICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChy
ZXN1bHRUZXh0LCBvYmplY3RUZXh0LmdldCgpKTsKIAogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KQEAgLTE4Nyw3ICsxODgsOCBAQCBzdGF0aWMgUGFuZ29MYXlvdXQqIGdldFBhbmdv
TGF5b3V0Rm9yQXRrKEF0a1RleHQqIHRleHRPYmplY3QpCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgLy8gQ3JlYXRlIGEgc3RyaW5nIHdpdGggdGhlIGxheW91dCBhcyBpdCBhcHBlYXJzIG9uIHRo
ZSBzY3JlZW4KLSAgICBQYW5nb0xheW91dCogbGF5b3V0ID0gZ3RrX3dpZGdldF9jcmVhdGVfcGFu
Z29fbGF5b3V0KHN0YXRpY19jYXN0PEd0a1dpZGdldCo+KHdlYlZpZXcpLCB0ZXh0Rm9yT2JqZWN0
KGNvcmVPYmplY3QpKTsKKyAgICBHT3duUHRyPGNoYXI+IG9iamVjdFRleHQgPSB0ZXh0Rm9yT2Jq
ZWN0KGNvcmVPYmplY3QpOworICAgIFBhbmdvTGF5b3V0KiBsYXlvdXQgPSBndGtfd2lkZ2V0X2Ny
ZWF0ZV9wYW5nb19sYXlvdXQoc3RhdGljX2Nhc3Q8R3RrV2lkZ2V0Kj4od2ViVmlldyksIG9iamVj
dFRleHQuZ2V0KCkpOwogICAgIHJldHVybiBsYXlvdXQ7CiB9CiAjZW5kaWYKQEAgLTQ0Nyw3ICs0
NDksNyBAQCBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRSdW5BdHRyaWJ1dGVzRnJvbUFjY2Vz
aWJpbGl0eU9iamVjdChjb25zdCBBY2Nlc3NpYmlsaQogCiBzdGF0aWMgSW50UmVjdCB0ZXh0RXh0
ZW50cyhBdGtUZXh0KiB0ZXh0LCBnaW50IHN0YXJ0T2Zmc2V0LCBnaW50IGxlbmd0aCwgQXRrQ29v
cmRUeXBlIGNvb3JkcykKIHsKLSAgICBnY2hhciogdGV4dENvbnRlbnQgPSB3ZWJraXRBY2Nlc3Np
YmxlVGV4dEdldFRleHQodGV4dCwgc3RhcnRPZmZzZXQsIC0xKTsKKyAgICBHT3duUHRyPGNoYXI+
IHRleHRDb250ZW50ID0gd2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0KHRleHQsIHN0YXJ0T2Zm
c2V0LCAtMSk7CiAgICAgZ2ludCB0ZXh0TGVuZ3RoID0gZ191dGY4X3N0cmxlbih0ZXh0Q29udGVu
dCwgLTEpOwogCiAgICAgLy8gVGhlIGZpcnN0IGNhc2UgKGVuZE9mZnNldCBvZiAtMSkgc2hvdWxk
IHdvcmssIGJ1dCBzZWVtcyBicm9rZW4gZm9yIGFsbCBHdGsrIGFwcHMuCkBAIC01NDksNyArNTUx
LDggQEAgc3RhdGljIGdjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQoQXRrVGV4dCog
dGV4dCwgZ2ludCBzdGFydE9mZnNldCwgZ2ludAogICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4g
YXQgbGVhc3Qgd2l0aCBhbm9ueW1vdXMgUmVuZGVyQmxvY2tzIChlLmcuIGJvZHkgdGV4dCBhbW9u
Z3N0IHBhcmFncmFwaHMpCiAgICAgICAgIC8vIEluIHN1Y2ggaW5zdGFuY2VzLCB0aGVyZSBtYXkg
YWxzbyBiZSBlbWJlZGRlZCBvYmplY3RzLiBUaGUgb2JqZWN0IHJlcGxhY2VtZW50IGNoYXJhY3Rl
cgogICAgICAgICAvLyBpcyBzb21ldGhpbmcgQVRzIHdhbnQgaW5jbHVkZWQgYW5kIHdlIGhhdmUg
dG8gYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhhdCBpdCBpcyBtdWx0aWJ5dGUuCi0gICAgICAgIHJl
dCA9IFN0cmluZzo6ZnJvbVVURjgodGV4dEZvck9iamVjdChjb3JlT2JqZWN0KSk7CisgICAgICAg
IEdPd25QdHI8Y2hhcj4gb2JqZWN0VGV4dCA9IHRleHRGb3JPYmplY3QoY29yZU9iamVjdCk7Cisg
ICAgICAgIHJldCA9IFN0cmluZzo6ZnJvbVVURjgob2JqZWN0VGV4dC5nZXQoKSk7CiAgICAgICAg
IGlmICghZW5kKQogICAgICAgICAgICAgZW5kID0gcmV0Lmxlbmd0aCgpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205815</attachid>
            <date>2013-07-01 08:59:46 -0700</date>
            <delta_ts>2013-07-01 09:25:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118248-20130701165751.patch</filename>
            <type>text/plain</type>
            <size>3790</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2YTFmOTE1Nzc4ZThl
YmMwYzY0YjkxZTA3NTIyM2U0YzgyMzFmOS4uMzZiN2UyMzVkZmMwMWJjZDViMDQzYTMyZmQyNmRj
Y2Y1N2FmMGQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTAxICBCcmlh
biBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBMZWFrOiBs
ZWFrcyBpbiBXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjQ4CisKKyAgICAgICAgRml4ZWQgbWVt
b3J5IGxlYWtzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3Bw
OgorICAgICAgICAoZ2V0UGFuZ29MYXlvdXRGb3JBdGspOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVRleHRHZXRUZXh0KToKKwogMjAxMy0wNy0wMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8
YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEF2b2lkIGNyZWF0aW5nIGEg
UVdpbmRvdyBmb3Igb2Zmc2NyZWVuIEdyYXBoaWNzQ29udGV4dDNECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVGV4dC5jcHAKaW5kZXggZTBiYzczMjM2MzJiOTYxMTIzMTVjOGMzMWU1ODNmNTE2
YTFiNThiZi4uMDAyMTQzNDEwZTAwMTcwNTM0M2U1ZmQ1YTNkMzIwNzM3ZDNhNGY3MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcApAQCAtOTQsOCArOTQsOSBAQCBzdGF0aWMg
Z2NoYXIqIHRleHRGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICAgICAg
ICAgLy8gY3VycmVudCBvYmplY3QgaXMgbm90IGEgdGV4dCBvYmplY3QgYnV0IHNvbWUgb2YgaXRz
CiAgICAgICAgICAgICAvLyBjaGlsZHJlbiBhcmUsIGluIG9yZGVyIG5vdCB0byBtaXNzIHRob3Nl
IHBvcnRpb25zIG9mCiAgICAgICAgICAgICAvLyB0ZXh0IGJ5IG5vdCBwcm9wZXJseSBoYW5kbGlu
ZyB0aG9zZSBzaXR1YXRpb25zCisgICAgICAgICAgICBHT3duUHRyPGdjaGFyPiBvYmplY3RUZXh0
ID0gdGV4dEZvclJlbmRlcmVyKG9iamVjdCk7CiAgICAgICAgICAgICBpZiAob2JqZWN0LT5maXJz
dENoaWxkKCkpCi0gICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHJlc3VsdFRleHQsIHRl
eHRGb3JSZW5kZXJlcihvYmplY3QpKTsKKyAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQo
cmVzdWx0VGV4dCwgb2JqZWN0VGV4dC5nZXQoKSk7CiAKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9CkBAIC0xODcsNyArMTg4LDggQEAgc3RhdGljIFBhbmdvTGF5b3V0KiBnZXRQYW5n
b0xheW91dEZvckF0ayhBdGtUZXh0KiB0ZXh0T2JqZWN0KQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIC8vIENyZWF0ZSBhIHN0cmluZyB3aXRoIHRoZSBsYXlvdXQgYXMgaXQgYXBwZWFycyBvbiB0
aGUgc2NyZWVuCi0gICAgUGFuZ29MYXlvdXQqIGxheW91dCA9IGd0a193aWRnZXRfY3JlYXRlX3Bh
bmdvX2xheW91dChzdGF0aWNfY2FzdDxHdGtXaWRnZXQqPih3ZWJWaWV3KSwgdGV4dEZvck9iamVj
dChjb3JlT2JqZWN0KSk7CisgICAgR093blB0cjxnY2hhcj4gb2JqZWN0VGV4dCA9IHRleHRGb3JP
YmplY3QoY29yZU9iamVjdCk7CisgICAgUGFuZ29MYXlvdXQqIGxheW91dCA9IGd0a193aWRnZXRf
Y3JlYXRlX3BhbmdvX2xheW91dChzdGF0aWNfY2FzdDxHdGtXaWRnZXQqPih3ZWJWaWV3KSwgb2Jq
ZWN0VGV4dC5nZXQoKSk7CiAgICAgcmV0dXJuIGxheW91dDsKIH0KICNlbmRpZgpAQCAtNDQ3LDcg
KzQ0OSw3IEBAIHN0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIGdldFJ1bkF0dHJpYnV0ZXNGcm9tQWNj
ZXNpYmlsaXR5T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpCiAKIHN0YXRpYyBJbnRSZWN0IHRleHRF
eHRlbnRzKEF0a1RleHQqIHRleHQsIGdpbnQgc3RhcnRPZmZzZXQsIGdpbnQgbGVuZ3RoLCBBdGtD
b29yZFR5cGUgY29vcmRzKQogewotICAgIGdjaGFyKiB0ZXh0Q29udGVudCA9IHdlYmtpdEFjY2Vz
c2libGVUZXh0R2V0VGV4dCh0ZXh0LCBzdGFydE9mZnNldCwgLTEpOworICAgIEdPd25QdHI8Z2No
YXI+IHRleHRDb250ZW50ID0gd2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0KHRleHQsIHN0YXJ0
T2Zmc2V0LCAtMSk7CiAgICAgZ2ludCB0ZXh0TGVuZ3RoID0gZ191dGY4X3N0cmxlbih0ZXh0Q29u
dGVudCwgLTEpOwogCiAgICAgLy8gVGhlIGZpcnN0IGNhc2UgKGVuZE9mZnNldCBvZiAtMSkgc2hv
dWxkIHdvcmssIGJ1dCBzZWVtcyBicm9rZW4gZm9yIGFsbCBHdGsrIGFwcHMuCkBAIC01NDksNyAr
NTUxLDggQEAgc3RhdGljIGdjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQoQXRrVGV4
dCogdGV4dCwgZ2ludCBzdGFydE9mZnNldCwgZ2ludAogICAgICAgICAvLyBUaGlzIGNhbiBoYXBw
ZW4gYXQgbGVhc3Qgd2l0aCBhbm9ueW1vdXMgUmVuZGVyQmxvY2tzIChlLmcuIGJvZHkgdGV4dCBh
bW9uZ3N0IHBhcmFncmFwaHMpCiAgICAgICAgIC8vIEluIHN1Y2ggaW5zdGFuY2VzLCB0aGVyZSBt
YXkgYWxzbyBiZSBlbWJlZGRlZCBvYmplY3RzLiBUaGUgb2JqZWN0IHJlcGxhY2VtZW50IGNoYXJh
Y3RlcgogICAgICAgICAvLyBpcyBzb21ldGhpbmcgQVRzIHdhbnQgaW5jbHVkZWQgYW5kIHdlIGhh
dmUgdG8gYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhhdCBpdCBpcyBtdWx0aWJ5dGUuCi0gICAgICAg
IHJldCA9IFN0cmluZzo6ZnJvbVVURjgodGV4dEZvck9iamVjdChjb3JlT2JqZWN0KSk7CisgICAg
ICAgIEdPd25QdHI8Z2NoYXI+IG9iamVjdFRleHQgPSB0ZXh0Rm9yT2JqZWN0KGNvcmVPYmplY3Qp
OworICAgICAgICByZXQgPSBTdHJpbmc6OmZyb21VVEY4KG9iamVjdFRleHQuZ2V0KCkpOwogICAg
ICAgICBpZiAoIWVuZCkKICAgICAgICAgICAgIGVuZCA9IHJldC5sZW5ndGgoKTsKICAgICB9CkBA
IC01ODcsNyArNTkwLDcgQEAgc3RhdGljIGdjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldENo
YXIoQXRrVGV4dCogdGV4dCwgZ2ludCBvZmZzZXQsIEdldFRleHRSZWwKICAgICBlbHNlIGlmICh0
ZXh0UG9zaXRpb24gPT0gR2V0VGV4dFBvc2l0aW9uQWZ0ZXIpCiAgICAgICAgIGFjdHVhbE9mZnNl
dCsrOwogCi0gICAgR093blB0cjxjaGFyPiB0ZXh0RGF0YSh3ZWJraXRBY2Nlc3NpYmxlVGV4dEdl
dFRleHQodGV4dCwgMCwgLTEpKTsKKyAgICBHT3duUHRyPGdjaGFyPiB0ZXh0RGF0YSh3ZWJraXRB
Y2Nlc3NpYmxlVGV4dEdldFRleHQodGV4dCwgMCwgLTEpKTsKICAgICBpbnQgdGV4dExlbmd0aCA9
IGdfdXRmOF9zdHJsZW4odGV4dERhdGEuZ2V0KCksIC0xKTsKIAogICAgICpzdGFydE9mZnNldCA9
IHN0ZDo6bWF4KDAsIGFjdHVhbE9mZnNldCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205817</attachid>
            <date>2013-07-01 09:25:09 -0700</date>
            <delta_ts>2013-07-01 10:10:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118248-20130701172315.patch</filename>
            <type>text/plain</type>
            <size>3446</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2YTFmOTE1Nzc4ZThl
YmMwYzY0YjkxZTA3NTIyM2U0YzgyMzFmOS4uMzZiN2UyMzVkZmMwMWJjZDViMDQzYTMyZmQyNmRj
Y2Y1N2FmMGQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTAxICBCcmlh
biBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBMZWFrOiBs
ZWFrcyBpbiBXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjQ4CisKKyAgICAgICAgRml4ZWQgbWVt
b3J5IGxlYWtzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3Bw
OgorICAgICAgICAoZ2V0UGFuZ29MYXlvdXRGb3JBdGspOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVRleHRHZXRUZXh0KToKKwogMjAxMy0wNy0wMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8
YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdIEF2b2lkIGNyZWF0aW5nIGEg
UVdpbmRvdyBmb3Igb2Zmc2NyZWVuIEdyYXBoaWNzQ29udGV4dDNECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVGV4dC5jcHAKaW5kZXggZTBiYzczMjM2MzJiOTYxMTIzMTVjOGMzMWU1ODNmNTE2
YTFiNThiZi4uYTQ5MWY5OTQzNTZmYzhiZGM3MGUzNTE0MTU5MjViY2Y4NDE0ODJmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcApAQCAtOTQsOCArOTQsOSBAQCBzdGF0aWMg
Z2NoYXIqIHRleHRGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICAgICAg
ICAgLy8gY3VycmVudCBvYmplY3QgaXMgbm90IGEgdGV4dCBvYmplY3QgYnV0IHNvbWUgb2YgaXRz
CiAgICAgICAgICAgICAvLyBjaGlsZHJlbiBhcmUsIGluIG9yZGVyIG5vdCB0byBtaXNzIHRob3Nl
IHBvcnRpb25zIG9mCiAgICAgICAgICAgICAvLyB0ZXh0IGJ5IG5vdCBwcm9wZXJseSBoYW5kbGlu
ZyB0aG9zZSBzaXR1YXRpb25zCisgICAgICAgICAgICBHT3duUHRyPGNoYXI+IG9iamVjdFRleHQo
dGV4dEZvclJlbmRlcmVyKG9iamVjdCkpOwogICAgICAgICAgICAgaWYgKG9iamVjdC0+Zmlyc3RD
aGlsZCgpKQotICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChyZXN1bHRUZXh0LCB0ZXh0
Rm9yUmVuZGVyZXIob2JqZWN0KSk7CisgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHJl
c3VsdFRleHQsIG9iamVjdFRleHQuZ2V0KCkpOwogCiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQpAQCAtMTg3LDcgKzE4OCw4IEBAIHN0YXRpYyBQYW5nb0xheW91dCogZ2V0UGFuZ29M
YXlvdXRGb3JBdGsoQXRrVGV4dCogdGV4dE9iamVjdCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAg
ICAvLyBDcmVhdGUgYSBzdHJpbmcgd2l0aCB0aGUgbGF5b3V0IGFzIGl0IGFwcGVhcnMgb24gdGhl
IHNjcmVlbgotICAgIFBhbmdvTGF5b3V0KiBsYXlvdXQgPSBndGtfd2lkZ2V0X2NyZWF0ZV9wYW5n
b19sYXlvdXQoc3RhdGljX2Nhc3Q8R3RrV2lkZ2V0Kj4od2ViVmlldyksIHRleHRGb3JPYmplY3Qo
Y29yZU9iamVjdCkpOworICAgIEdPd25QdHI8Y2hhcj4gb2JqZWN0VGV4dCh0ZXh0Rm9yT2JqZWN0
KGNvcmVPYmplY3QpKTsKKyAgICBQYW5nb0xheW91dCogbGF5b3V0ID0gZ3RrX3dpZGdldF9jcmVh
dGVfcGFuZ29fbGF5b3V0KHN0YXRpY19jYXN0PEd0a1dpZGdldCo+KHdlYlZpZXcpLCBvYmplY3RU
ZXh0LmdldCgpKTsKICAgICByZXR1cm4gbGF5b3V0OwogfQogI2VuZGlmCkBAIC00NDcsOCArNDQ5
LDggQEAgc3RhdGljIEF0a0F0dHJpYnV0ZVNldCogZ2V0UnVuQXR0cmlidXRlc0Zyb21BY2Nlc2li
aWxpdHlPYmplY3QoY29uc3QgQWNjZXNzaWJpbGkKIAogc3RhdGljIEludFJlY3QgdGV4dEV4dGVu
dHMoQXRrVGV4dCogdGV4dCwgZ2ludCBzdGFydE9mZnNldCwgZ2ludCBsZW5ndGgsIEF0a0Nvb3Jk
VHlwZSBjb29yZHMpCiB7Ci0gICAgZ2NoYXIqIHRleHRDb250ZW50ID0gd2Via2l0QWNjZXNzaWJs
ZVRleHRHZXRUZXh0KHRleHQsIHN0YXJ0T2Zmc2V0LCAtMSk7Ci0gICAgZ2ludCB0ZXh0TGVuZ3Ro
ID0gZ191dGY4X3N0cmxlbih0ZXh0Q29udGVudCwgLTEpOworICAgIEdPd25QdHI8Y2hhcj4gdGV4
dENvbnRlbnQod2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0KHRleHQsIHN0YXJ0T2Zmc2V0LCAt
MSkpOworICAgIGdpbnQgdGV4dExlbmd0aCA9IGdfdXRmOF9zdHJsZW4odGV4dENvbnRlbnQuZ2V0
KCksIC0xKTsKIAogICAgIC8vIFRoZSBmaXJzdCBjYXNlIChlbmRPZmZzZXQgb2YgLTEpIHNob3Vs
ZCB3b3JrLCBidXQgc2VlbXMgYnJva2VuIGZvciBhbGwgR3RrKyBhcHBzLgogICAgIGdpbnQgcmFu
Z2VMZW5ndGggPSBsZW5ndGg7CkBAIC01NDksNyArNTUxLDggQEAgc3RhdGljIGdjaGFyKiB3ZWJr
aXRBY2Nlc3NpYmxlVGV4dEdldFRleHQoQXRrVGV4dCogdGV4dCwgZ2ludCBzdGFydE9mZnNldCwg
Z2ludAogICAgICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gYXQgbGVhc3Qgd2l0aCBhbm9ueW1vdXMg
UmVuZGVyQmxvY2tzIChlLmcuIGJvZHkgdGV4dCBhbW9uZ3N0IHBhcmFncmFwaHMpCiAgICAgICAg
IC8vIEluIHN1Y2ggaW5zdGFuY2VzLCB0aGVyZSBtYXkgYWxzbyBiZSBlbWJlZGRlZCBvYmplY3Rz
LiBUaGUgb2JqZWN0IHJlcGxhY2VtZW50IGNoYXJhY3RlcgogICAgICAgICAvLyBpcyBzb21ldGhp
bmcgQVRzIHdhbnQgaW5jbHVkZWQgYW5kIHdlIGhhdmUgdG8gYWNjb3VudCBmb3IgdGhlIGZhY3Qg
dGhhdCBpdCBpcyBtdWx0aWJ5dGUuCi0gICAgICAgIHJldCA9IFN0cmluZzo6ZnJvbVVURjgodGV4
dEZvck9iamVjdChjb3JlT2JqZWN0KSk7CisgICAgICAgIEdPd25QdHI8Y2hhcj4gb2JqZWN0VGV4
dCh0ZXh0Rm9yT2JqZWN0KGNvcmVPYmplY3QpKTsKKyAgICAgICAgcmV0ID0gU3RyaW5nOjpmcm9t
VVRGOChvYmplY3RUZXh0LmdldCgpKTsKICAgICAgICAgaWYgKCFlbmQpCiAgICAgICAgICAgICBl
bmQgPSByZXQubGVuZ3RoKCk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205818</attachid>
            <date>2013-07-01 10:10:29 -0700</date>
            <delta_ts>2013-07-01 11:05:15 -0700</delta_ts>
            <desc>Final patch</desc>
            <filename>bug-118248-20130701180834.patch</filename>
            <type>text/plain</type>
            <size>3511</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2YTFmOTE1Nzc4ZThl
YmMwYzY0YjkxZTA3NTIyM2U0YzgyMzFmOS4uNTIzNTdlM2MwNzk5MjY4ZjgxYWMxODEwNmE3ODYy
MzNmYjc1NTk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTAxICBCcmlh
biBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBbQVRLXSBMZWFrOiBs
ZWFrcyBpbiBXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjQ4CisKKyAgICAgICAgRml4ZWQgbWVt
b3J5IGxlYWtzLgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzdG9waGUgRHVtZXouCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5j
cHA6CisgICAgICAgIChnZXRQYW5nb0xheW91dEZvckF0ayk6CisgICAgICAgICh3ZWJraXRBY2Nl
c3NpYmxlVGV4dEdldFRleHQpOgorCiAyMDEzLTA3LTAxICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4g
IDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gQXZvaWQgY3JlYXRpbmcg
YSBRV2luZG93IGZvciBvZmZzY3JlZW4gR3JhcGhpY3NDb250ZXh0M0QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VUZXh0LmNwcAppbmRleCBlMGJjNzMyMzYzMmI5NjExMjMxNWM4YzMxZTU4M2Y1
MTZhMWI1OGJmLi4zZGEyYTllMzY3ZWVlMDZiYzM0OWEwNjY4Yjc4MzUwOWI4MzA1M2Q5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3BwCkBAIC05NCw5ICs5NCwxMCBAQCBzdGF0
aWMgZ2NoYXIqIHRleHRGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICAg
ICAgICAgLy8gY3VycmVudCBvYmplY3QgaXMgbm90IGEgdGV4dCBvYmplY3QgYnV0IHNvbWUgb2Yg
aXRzCiAgICAgICAgICAgICAvLyBjaGlsZHJlbiBhcmUsIGluIG9yZGVyIG5vdCB0byBtaXNzIHRo
b3NlIHBvcnRpb25zIG9mCiAgICAgICAgICAgICAvLyB0ZXh0IGJ5IG5vdCBwcm9wZXJseSBoYW5k
bGluZyB0aG9zZSBzaXR1YXRpb25zCi0gICAgICAgICAgICBpZiAob2JqZWN0LT5maXJzdENoaWxk
KCkpCi0gICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHJlc3VsdFRleHQsIHRleHRGb3JS
ZW5kZXJlcihvYmplY3QpKTsKLQorICAgICAgICAgICAgaWYgKG9iamVjdC0+Zmlyc3RDaGlsZCgp
KSB7CisgICAgICAgICAgICAgICAgR093blB0cjxjaGFyPiBvYmplY3RUZXh0KHRleHRGb3JSZW5k
ZXJlcihvYmplY3QpKTsKKyAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocmVzdWx0VGV4
dCwgb2JqZWN0VGV4dC5nZXQoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogCkBAIC0xODcsNyArMTg4LDggQEAgc3RhdGljIFBhbmdvTGF5b3V0KiBn
ZXRQYW5nb0xheW91dEZvckF0ayhBdGtUZXh0KiB0ZXh0T2JqZWN0KQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIC8vIENyZWF0ZSBhIHN0cmluZyB3aXRoIHRoZSBsYXlvdXQgYXMgaXQgYXBwZWFy
cyBvbiB0aGUgc2NyZWVuCi0gICAgUGFuZ29MYXlvdXQqIGxheW91dCA9IGd0a193aWRnZXRfY3Jl
YXRlX3BhbmdvX2xheW91dChzdGF0aWNfY2FzdDxHdGtXaWRnZXQqPih3ZWJWaWV3KSwgdGV4dEZv
ck9iamVjdChjb3JlT2JqZWN0KSk7CisgICAgR093blB0cjxjaGFyPiBvYmplY3RUZXh0KHRleHRG
b3JPYmplY3QoY29yZU9iamVjdCkpOworICAgIFBhbmdvTGF5b3V0KiBsYXlvdXQgPSBndGtfd2lk
Z2V0X2NyZWF0ZV9wYW5nb19sYXlvdXQoc3RhdGljX2Nhc3Q8R3RrV2lkZ2V0Kj4od2ViVmlldyks
IG9iamVjdFRleHQuZ2V0KCkpOwogICAgIHJldHVybiBsYXlvdXQ7CiB9CiAjZW5kaWYKQEAgLTQ0
Nyw4ICs0NDksOCBAQCBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRSdW5BdHRyaWJ1dGVzRnJv
bUFjY2VzaWJpbGl0eU9iamVjdChjb25zdCBBY2Nlc3NpYmlsaQogCiBzdGF0aWMgSW50UmVjdCB0
ZXh0RXh0ZW50cyhBdGtUZXh0KiB0ZXh0LCBnaW50IHN0YXJ0T2Zmc2V0LCBnaW50IGxlbmd0aCwg
QXRrQ29vcmRUeXBlIGNvb3JkcykKIHsKLSAgICBnY2hhciogdGV4dENvbnRlbnQgPSB3ZWJraXRB
Y2Nlc3NpYmxlVGV4dEdldFRleHQodGV4dCwgc3RhcnRPZmZzZXQsIC0xKTsKLSAgICBnaW50IHRl
eHRMZW5ndGggPSBnX3V0Zjhfc3RybGVuKHRleHRDb250ZW50LCAtMSk7CisgICAgR093blB0cjxj
aGFyPiB0ZXh0Q29udGVudCh3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQodGV4dCwgc3RhcnRP
ZmZzZXQsIC0xKSk7CisgICAgZ2ludCB0ZXh0TGVuZ3RoID0gZ191dGY4X3N0cmxlbih0ZXh0Q29u
dGVudC5nZXQoKSwgLTEpOwogCiAgICAgLy8gVGhlIGZpcnN0IGNhc2UgKGVuZE9mZnNldCBvZiAt
MSkgc2hvdWxkIHdvcmssIGJ1dCBzZWVtcyBicm9rZW4gZm9yIGFsbCBHdGsrIGFwcHMuCiAgICAg
Z2ludCByYW5nZUxlbmd0aCA9IGxlbmd0aDsKQEAgLTU0OSw3ICs1NTEsOCBAQCBzdGF0aWMgZ2No
YXIqIHdlYmtpdEFjY2Vzc2libGVUZXh0R2V0VGV4dChBdGtUZXh0KiB0ZXh0LCBnaW50IHN0YXJ0
T2Zmc2V0LCBnaW50CiAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBhdCBsZWFzdCB3aXRoIGFu
b255bW91cyBSZW5kZXJCbG9ja3MgKGUuZy4gYm9keSB0ZXh0IGFtb25nc3QgcGFyYWdyYXBocykK
ICAgICAgICAgLy8gSW4gc3VjaCBpbnN0YW5jZXMsIHRoZXJlIG1heSBhbHNvIGJlIGVtYmVkZGVk
IG9iamVjdHMuIFRoZSBvYmplY3QgcmVwbGFjZW1lbnQgY2hhcmFjdGVyCiAgICAgICAgIC8vIGlz
IHNvbWV0aGluZyBBVHMgd2FudCBpbmNsdWRlZCBhbmQgd2UgaGF2ZSB0byBhY2NvdW50IGZvciB0
aGUgZmFjdCB0aGF0IGl0IGlzIG11bHRpYnl0ZS4KLSAgICAgICAgcmV0ID0gU3RyaW5nOjpmcm9t
VVRGOCh0ZXh0Rm9yT2JqZWN0KGNvcmVPYmplY3QpKTsKKyAgICAgICAgR093blB0cjxjaGFyPiBv
YmplY3RUZXh0KHRleHRGb3JPYmplY3QoY29yZU9iamVjdCkpOworICAgICAgICByZXQgPSBTdHJp
bmc6OmZyb21VVEY4KG9iamVjdFRleHQuZ2V0KCkpOwogICAgICAgICBpZiAoIWVuZCkKICAgICAg
ICAgICAgIGVuZCA9IHJldC5sZW5ndGgoKTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>