[network-manager-applet/nma-1-0] applet: fix accessing freed memory (rh #1129818)
- From: Jiří Klimeš <jklimes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-applet/nma-1-0] applet: fix accessing freed memory (rh #1129818)
- Date: Mon, 21 Dec 2015 11:39:01 +0000 (UTC)
commit 597c6880cf4516ac788284d439ed59ff398e57cd
Author: Jiří Klimeš <jklimes redhat com>
Date: Thu Dec 17 14:31:48 2015 +0100
applet: fix accessing freed memory (rh #1129818)
It was a problem of looping throught list and invalidating ->next pointer when
removing an item.
See this commit for a similar bug:
http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=b9da3d93207e46de895fd07cfe9de1edfa79efef
(cherry picked from commit 10c78cb60818cb005e105fb71b74e47d93f53688)
src/applet.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/applet.c b/src/applet.c
index 39ea8e4..7a79622 100644
--- a/src/applet.c
+++ b/src/applet.c
@@ -3241,11 +3241,13 @@ applet_agent_cancel_secrets_cb (AppletAgent *agent,
gpointer user_data)
{
NMApplet *applet = NM_APPLET (user_data);
- GSList *iter;
+ GSList *iter, *next;
- for (iter = applet->secrets_reqs; iter; iter = g_slist_next (iter)) {
+ for (iter = applet->secrets_reqs; iter; iter = next) {
SecretsRequest *req = iter->data;
+ next = g_slist_next (iter);
+
if (req->reqid == request_id) {
/* cancel and free this password request */
applet_secrets_request_free (req);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]