[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
xan at webkit.org
xan at webkit.org
Thu Oct 29 20:35:33 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit d4dff1472138ecf22edce0d77e5db9f0d80a73bb
Author: xan at webkit.org <xan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 29 05:16:58 2009 +0000
2009-09-29 Xan Lopez <xlopez at igalia.com>
Rubber-stamped by Eric Seidel.
[Gtk] Crash when saving a password
https://bugs.webkit.org/show_bug.cgi?id=28070
Disconnect the 'got-headers' callback when we are done with
it. The signal can be emitted more than once if the message is
retransmitted, but each time that happens authData is created
again and a new callback connected, so we have to get rid of the
old one (which will crash because we free authData).
* webkit/webkitsoupauthdialog.c:
(save_password_callback):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 107bf03..bf79e70 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,19 @@
+2009-09-29 Xan Lopez <xlopez at igalia.com>
+
+ Rubber-stamped by Eric Seidel.
+
+ [Gtk] Crash when saving a password
+ https://bugs.webkit.org/show_bug.cgi?id=28070
+
+ Disconnect the 'got-headers' callback when we are done with
+ it. The signal can be emitted more than once if the message is
+ retransmitted, but each time that happens authData is created
+ again and a new callback connected, so we have to get rid of the
+ old one (which will crash because we free authData).
+
+ * webkit/webkitsoupauthdialog.c:
+ (save_password_callback):
+
2009-09-25 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
Reviewed by Xan Lopez.
diff --git a/WebKit/gtk/webkit/webkitsoupauthdialog.c b/WebKit/gtk/webkit/webkitsoupauthdialog.c
index 5ff2038..538dbfa 100644
--- a/WebKit/gtk/webkit/webkitsoupauthdialog.c
+++ b/WebKit/gtk/webkit/webkitsoupauthdialog.c
@@ -107,6 +107,11 @@ static void save_password_callback(SoupMessage* msg, WebKitAuthData* authData)
if (msg->status_code != 401 && msg->status_code < 500)
soup_auth_save_password(authData->auth, authData->username, authData->password);
+ /* Disconnect the callback. If the authentication succeeded we are
+ * done, and if it failed we'll create a new authData and we'll
+ * connect to 'got-headers' again in response_callback */
+ g_signal_handlers_disconnect_by_func(msg, save_password_callback, authData);
+
free_authData(authData);
}
#endif
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list