<?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>28070</bug_id>
          
          <creation_ts>2009-08-07 09:07:47 -0700</creation_ts>
          <short_desc>[Gtk] Crash when saving a password</short_desc>
          <delta_ts>2009-09-28 22:18:00 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>28463</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bastien Nocera">bugzilla</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>137917</commentid>
    <comment_count>0</comment_count>
    <who name="Bastien Nocera">bugzilla</who>
    <bug_when>2009-08-07 09:07:47 -0700</bug_when>
    <thetext>1. Go to https://fedorahosted.org/rel-eng/
2. Click &quot;log in&quot;
3. Enter my credentials and select &quot;save password&quot;
4. Benco!

libsoup-2.27.5-1.fc12.x86_64
webkitgtk-1.1.12-1.fc12.x86_64
epiphany-2.27.5-1.fc12.x86_64

(gdb) bt
#0  save_password_callback (msg=&lt;value optimized out&gt;, authData=0xea2540) at WebKit/gtk/webkit/webkitsoupauthdialog.c:117
#1  0x00000030d240bb4e in IA__g_closure_invoke (closure=0xee4970, return_value=0x0, n_param_values=1, param_values=0xf00460, invocation_hint=0x7fffffffc610) at gclosure.c:767
#2  0x00000030d2421d06 in signal_emit_unlocked_R (node=0xdf22d0, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at gsignal.c:3247
#3  0x00000030d242312e in IA__g_signal_emit_valist (instance=0x994cc0, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fffffffc800) at gsignal.c:2980
#4  0x00000030d24236a3 in IA__g_signal_emit (instance=0x0, signal_id=0, detail=0) at gsignal.c:3037
#5  0x00007ffff57180b0 in io_read (sock=0xe8aae0, msg=0x994cc0) at soup-message-io.c:835
#6  0x00000030d240bb4e in IA__g_closure_invoke (closure=0xe6da00, return_value=0x0, n_param_values=1, param_values=0xe70720, invocation_hint=0x7fffffffca70) at gclosure.c:767
#7  0x00000030d2421d06 in signal_emit_unlocked_R (node=0x9577f0, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at gsignal.c:3247
#8  0x00000030d242312e in IA__g_signal_emit_valist (instance=0xe8aae0, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fffffffcc60) at gsignal.c:2980
#9  0x00000030d24236a3 in IA__g_signal_emit (instance=0x0, signal_id=0, detail=0) at gsignal.c:3037
#10 0x00007ffff5722891 in socket_read_watch (chan=&lt;value optimized out&gt;, cond=0, user_data=&lt;value optimized out&gt;) at soup-socket.c:1181
#11 0x00000030d20391be in g_main_dispatch (context=&lt;value optimized out&gt;) at gmain.c:1960
#12 IA__g_main_context_dispatch (context=&lt;value optimized out&gt;) at gmain.c:2513
#13 0x00000030d203cba8 in g_main_context_iterate (context=0x70c250, block=&lt;value optimized out&gt;, dispatch=&lt;value optimized out&gt;, self=&lt;value optimized out&gt;) at gmain.c:2591
#14 0x00000030d203cff5 in IA__g_main_loop_run (loop=0x7b06a0) at gmain.c:2799
#15 0x00007ffff6162f07 in IA__gtk_main () at gtkmain.c:1205
#16 0x000000000042d5a5 in main (argc=can&apos;t compute CFA for this frame
) at ephy-main.c:781
(gdb) list
112	static void save_password_callback(SoupMessage* msg, WebKitAuthData* authData)
113	{
114	    /* Check only for Success status codes (2xx) */
115	    if (msg-&gt;status_code &gt;= 200 &amp;&amp; msg-&gt;status_code &lt; 300) {
116	        SoupURI* uri = soup_message_get_uri(authData-&gt;msg);
117	        gnome_keyring_set_network_password(NULL,
118	                                           authData-&gt;username,
119	                                           soup_auth_get_realm(authData-&gt;auth),
120	                                           uri-&gt;host,
121	                                           NULL,
(gdb) p uri
$3 = (SoupURI *) 0x0

And with fatal warnings:
libsoup-CRITICAL **: soup_message_get_uri: assertion `SOUP_IS_MESSAGE (msg)&apos; failed
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
IA__g_logv (log_domain=&lt;value optimized out&gt;, log_level=&lt;value optimized out&gt;, format=&lt;value optimized out&gt;, args1=0x7fffffffc360) at gmessages.c:512
512		  g_private_set (g_log_depth, GUINT_TO_POINTER (depth));
(gdb) bt
#0  IA__g_logv (log_domain=&lt;value optimized out&gt;, log_level=&lt;value optimized out&gt;, format=&lt;value optimized out&gt;, args1=0x7fffffffc360) at gmessages.c:512
#1  0x00000030d20433d3 in IA__g_log (log_domain=0x7ffff52c2e98 &quot;\300\n&quot;, &lt;incomplete sequence \351&gt;, log_level=15565728, format=0xed83a0 &quot;\020\001&quot;) at gmessages.c:526
#2  0x00007ffff57137a4 in soup_message_get_uri (msg=&lt;value optimized out&gt;) at soup-message.c:1431
#3  0x00007ffff694634a in save_password_callback (msg=&lt;value optimized out&gt;, authData=0xe92190) at WebKit/gtk/webkit/webkitsoupauthdialog.c:116
#4  0x00000030d240bb4e in IA__g_closure_invoke (closure=0xed63b0, return_value=0x0, n_param_values=1, param_values=0xe6a580, invocation_hint=0x7fffffffc600) at gclosure.c:767
#5  0x00000030d2421d06 in signal_emit_unlocked_R (node=0xdf2140, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at gsignal.c:3247
#6  0x00000030d242312e in IA__g_signal_emit_valist (instance=0x994cc0, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fffffffc7f0) at gsignal.c:2980
#7  0x00000030d24236a3 in IA__g_signal_emit (instance=0x7ffff52c2e98, signal_id=15565728, detail=15565728) at gsignal.c:3037
#8  0x00007ffff57180b0 in io_read (sock=0xe96220, msg=0x994cc0) at soup-message-io.c:835
#9  0x00000030d240bb4e in IA__g_closure_invoke (closure=0xf075d0, return_value=0x0, n_param_values=1, param_values=0xefc4a0, invocation_hint=0x7fffffffca60) at gclosure.c:767
#10 0x00000030d2421d06 in signal_emit_unlocked_R (node=0x957750, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at gsignal.c:3247
#11 0x00000030d242312e in IA__g_signal_emit_valist (instance=0xe96220, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fffffffcc50) at gsignal.c:2980
#12 0x00000030d24236a3 in IA__g_signal_emit (instance=0x7ffff52c2e98, signal_id=15565728, detail=15565728) at gsignal.c:3037
#13 0x00007ffff5722891 in socket_read_watch (chan=&lt;value optimized out&gt;, cond=0, user_data=&lt;value optimized out&gt;) at soup-socket.c:1181
#14 0x00000030d20391be in g_main_dispatch (context=&lt;value optimized out&gt;) at gmain.c:1960
#15 IA__g_main_context_dispatch (context=&lt;value optimized out&gt;) at gmain.c:2513
#16 0x00000030d203cba8 in g_main_context_iterate (context=0x70c2c0, block=&lt;value optimized out&gt;, dispatch=&lt;value optimized out&gt;, self=&lt;value optimized out&gt;) at gmain.c:2591
#17 0x00000030d203cff5 in IA__g_main_loop_run (loop=0x7ab6e0) at gmain.c:2799
#18 0x00007ffff6162f07 in IA__gtk_main () at gtkmain.c:1205
#19 0x000000000042d5a5 in main (argc=can&apos;t compute CFA for this frame
) at ephy-main.c:781</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138267</commentid>
    <comment_count>1</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-08-07 20:40:37 -0700</bug_when>
    <thetext>CC&apos;ing Gustavo and Xan who are more familiar with libsoup and gnome-keyring in WebKitGtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139762</commentid>
    <comment_count>2</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-13 02:26:24 -0700</bug_when>
    <thetext>This code has been changed in latest trunk, could you try again with it (you&apos;ll need libsoup master) and tell us if it still crashes? You can also wait for the 1.1.13 release, which will happen soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142534</commentid>
    <comment_count>3</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-25 00:15:03 -0700</bug_when>
    <thetext>Epiphany 2.27.91, libsoup 2.27.91 and WebKitGTK+ 1.1.13 are now released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143883</commentid>
    <comment_count>4</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-09-01 07:27:30 -0700</bug_when>
    <thetext>Seems to still happen. I think I found the problem, I am testing the fix (waiting for build to finish).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143985</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-09-01 13:14:48 -0700</bug_when>
    <thetext>I have tried debugging this. We seem to have a problem with the reference counting of authData-&gt;auth (we do a g_object_unref on it without doing a g_object_ref), but the fact is adding g_object_ref to the initialization of auth, and to just after authenticated doesn&apos;t help. We still reach the save password callback with authData-&gt;auth as 0x0. This seems to be caused by memory corruption. I was unable to find out what is the actual problem, though. Valgrind log:

==12869==
==12869== Syscall param write(buf) points to uninitialised byte(s)
==12869==    at 0xCCC852B: (within /lib/libpthread-2.9.so)
==12869==    by 0xE6219E6: unixWrite (sqlite3.c:23842)
==12869==    by 0xE5D713E: writeJournalHdr (sqlite3.c:11929)
==12869==    by 0xE5D722C: pager_open_journal (sqlite3.c:34594)
==12869==    by 0xE5D7357: sqlite3PagerBegin (sqlite3.c:34669)
==12869==    by 0xE5E02B3: sqlite3BtreeBeginTrans (sqlite3.c:39351)
==12869==    by 0xE5F8E65: sqlite3VdbeExec (sqlite3.c:53624)
==12869==    by 0xE5FF887: sqlite3_step (sqlite3.c:49507)
==12869==    by 0xE602A2C: sqlite3_exec (sqlite3.c:72147)
==12869==    by 0x6FBFD38: exec_query_with_try_create_table (soup-cookie-jar-sqlite.c:242)
==12869==    by 0x6FC0118: changed (soup-cookie-jar-sqlite.c:295)
==12869==    by 0xB7E951C: g_closure_invoke (gclosure.c:767)
==12869==  Address 0x14d544c9 is 9 bytes inside a block of size 1,032 alloc&apos;d
==12869==    at 0x4C2391E: malloc (vg_replace_malloc.c:207)
==12869==    by 0xE61FFC1: sqlite3MemMalloc (sqlite3.c:12342)
==12869==    by 0xE5BA748: mallocWithAlarm (sqlite3.c:15530)
==12869==    by 0xE5BA81F: sqlite3Malloc (sqlite3.c:15558)
==12869==    by 0xE5BBE82: pcache1Alloc (sqlite3.c:29512)
==12869==    by 0xE5BBFA5: sqlite3PageMalloc (sqlite3.c:29583)
==12869==    by 0xE5C3FD6: sqlite3PagerSetPagesize (sqlite3.c:32906)
==12869==    by 0xE5DF037: sqlite3BtreeFactory (sqlite3.c:33837)
==12869==    by 0xE5E6837: openDatabase (sqlite3.c:92579)
==12869==    by 0x6FC00E0: changed (soup-cookie-jar-sqlite.c:285)
==12869==    by 0xB7E951C: g_closure_invoke (gclosure.c:767)
==12869==    by 0xB7FF934: signal_emit_unlocked_R (gsignal.c:3177)


libsoup-CRITICAL **: soup_auth_save_password: assertion `SOUP_IS_AUTH (auth)&apos; fa
iled
aborting...
==12869==
==12869== Process terminating with default action of signal 5 (SIGTRAP): dumping
 core
==12869==    at 0xBA668CC: g_logv (gmessages.c:512)
==12869==    by 0xBA66C22: g_log (gmessages.c:526)
==12869==    by 0x512417A: save_password_callback (webkitsoupauthdialog.c:105)
==12869==    by 0xB7E951C: g_closure_invoke (gclosure.c:767)
==12869==    by 0xB80003D: signal_emit_unlocked_R (gsignal.c:3247)
==12869==    by 0xB8015EE: g_signal_emit_valist (gsignal.c:2980)
==12869==    by 0xB801AF2: g_signal_emit (gsignal.c:3037)
==12869==    by 0x6D99B5F: io_read (soup-message-io.c:835)
==12869==    by 0xB7E951C: g_closure_invoke (gclosure.c:767)
==12869==    by 0xB80003D: signal_emit_unlocked_R (gsignal.c:3247)
==12869==    by 0xB8015EE: g_signal_emit_valist (gsignal.c:2980)
==12869==    by 0xB801AF2: g_signal_emit (gsignal.c:3037)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150498</commentid>
    <comment_count>6</comment_count>
      <attachid>40230</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-28 06:30:48 -0700</bug_when>
    <thetext>Created attachment 40230
soupauthfix.diff

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150738</commentid>
    <comment_count>7</comment_count>
      <attachid>40230</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-28 17:15:13 -0700</bug_when>
    <thetext>Comment on attachment 40230
soupauthfix.diff

Rubber stamp = me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150799</commentid>
    <comment_count>8</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-28 22:18:00 -0700</bug_when>
    <thetext>Thanks, landed in r48858.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40230</attachid>
            <date>2009-09-28 06:30:48 -0700</date>
            <delta_ts>2009-09-28 17:15:13 -0700</delta_ts>
            <desc>soupauthfix.diff</desc>
            <filename>soupauthfix.diff</filename>
            <type>text/plain</type>
            <size>2629</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYzA5OTM5MWNhYjM2YjRkOTY4ZjE0ZDYyNzQ1OTgzZGI3ZGJmYmI5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDI4IFNlcCAyMDA5IDE2OjI5OjEyICswMzAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wOS0y
OCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBbR3RrXSBDcmFzaCB3aGVuIHNhdmluZyBhIHBhc3N3b3Jk
CiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MDcwCgog
ICAgICAgIERpc2Nvbm5lY3QgdGhlICdnb3QtaGVhZGVycycgY2FsbGJhY2sgd2hlbiB3ZSBhcmUg
ZG9uZSB3aXRoCiAgICAgICAgaXQuIFRoZSBzaWduYWwgY2FuIGJlIGVtaXR0ZWQgbW9yZSB0aGFu
IG9uY2UgaWYgdGhlIG1lc3NhZ2UgaXMKICAgICAgICByZXRyYW5zbWl0dGVkLCBidXQgZWFjaCB0
aW1lIHRoYXQgaGFwcGVucyBhdXRoRGF0YSBpcyBjcmVhdGVkCiAgICAgICAgYWdhaW4gYW5kIGEg
bmV3IGNhbGxiYWNrIGNvbm5lY3RlZCwgc28gd2UgaGF2ZSB0byBnZXQgcmlkIG9mIHRoZQogICAg
ICAgIG9sZCBvbmUgKHdoaWNoIHdpbGwgY3Jhc2ggYmVjYXVzZSB3ZSBmcmVlIGF1dGhEYXRhKS4K
CiAgICAgICAgKiB3ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuYzoKICAgICAgICAoc2F2ZV9w
YXNzd29yZF9jYWxsYmFjayk6Ci0tLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTYgKysrKysrKysrKysrKysrKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
c291cGF1dGhkaWFsb2cuYyB8ICAgIDUgKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0
aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDEwN2JmMDMuLjA0Y2FiMmUgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMDktMDktMjggIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHdGtdIENy
YXNoIHdoZW4gc2F2aW5nIGEgcGFzc3dvcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4MDcwCisKKyAgICAgICAgRGlzY29ubmVjdCB0aGUgJ2dvdC1o
ZWFkZXJzJyBjYWxsYmFjayB3aGVuIHdlIGFyZSBkb25lIHdpdGgKKyAgICAgICAgaXQuIFRoZSBz
aWduYWwgY2FuIGJlIGVtaXR0ZWQgbW9yZSB0aGFuIG9uY2UgaWYgdGhlIG1lc3NhZ2UgaXMKKyAg
ICAgICAgcmV0cmFuc21pdHRlZCwgYnV0IGVhY2ggdGltZSB0aGF0IGhhcHBlbnMgYXV0aERhdGEg
aXMgY3JlYXRlZAorICAgICAgICBhZ2FpbiBhbmQgYSBuZXcgY2FsbGJhY2sgY29ubmVjdGVkLCBz
byB3ZSBoYXZlIHRvIGdldCByaWQgb2YgdGhlCisgICAgICAgIG9sZCBvbmUgKHdoaWNoIHdpbGwg
Y3Jhc2ggYmVjYXVzZSB3ZSBmcmVlIGF1dGhEYXRhKS4KKworICAgICAgICAqIHdlYmtpdC93ZWJr
aXRzb3VwYXV0aGRpYWxvZy5jOgorICAgICAgICAoc2F2ZV9wYXNzd29yZF9jYWxsYmFjayk6CisK
IDIwMDktMDktMjUgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xs
YWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuYyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHNvdXBhdXRoZGlhbG9nLmMKaW5kZXggNWZmMjAzOC4uNTM4ZGJmYSAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c291cGF1dGhkaWFsb2cuYworKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzb3VwYXV0aGRpYWxvZy5jCkBAIC0xMDcsNiArMTA3LDEx
IEBAIHN0YXRpYyB2b2lkIHNhdmVfcGFzc3dvcmRfY2FsbGJhY2soU291cE1lc3NhZ2UqIG1zZywg
V2ViS2l0QXV0aERhdGEqIGF1dGhEYXRhKQogICAgIGlmIChtc2ctPnN0YXR1c19jb2RlICE9IDQw
MSAmJiBtc2ctPnN0YXR1c19jb2RlIDwgNTAwKQogICAgICAgICBzb3VwX2F1dGhfc2F2ZV9wYXNz
d29yZChhdXRoRGF0YS0+YXV0aCwgYXV0aERhdGEtPnVzZXJuYW1lLCBhdXRoRGF0YS0+cGFzc3dv
cmQpOwogCisgICAgLyogRGlzY29ubmVjdCB0aGUgY2FsbGJhY2suIElmIHRoZSBhdXRoZW50aWNh
dGlvbiBzdWNjZWVkZWQgd2UgYXJlCisgICAgICogZG9uZSwgYW5kIGlmIGl0IGZhaWxlZCB3ZSds
bCBjcmVhdGUgYSBuZXcgYXV0aERhdGEgYW5kIHdlJ2xsCisgICAgICogY29ubmVjdCB0byAnZ290
LWhlYWRlcnMnIGFnYWluIGluIHJlc3BvbnNlX2NhbGxiYWNrICovCisgICAgZ19zaWduYWxfaGFu
ZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1zZywgc2F2ZV9wYXNzd29yZF9jYWxsYmFjaywgYXV0
aERhdGEpOworCiAgICAgZnJlZV9hdXRoRGF0YShhdXRoRGF0YSk7CiB9CiAjZW5kaWYKLS0gCjEu
Ni40LjIKCg==
</data>
<flag name="review"
          id="21418"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="21419"
          type_id="3"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>