[network-manager-applet] applet: fix accessing freed memory (rh #1129818)
- From: Jiří Klimeš <jklimes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-applet] applet: fix accessing freed memory (rh #1129818)
- Date: Mon, 21 Dec 2015 11:35:12 +0000 (UTC)
commit 10c78cb60818cb005e105fb71b74e47d93f53688
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
src/applet.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/applet.c b/src/applet.c
index d65e612..3d31d7e 100644
--- a/src/applet.c
+++ b/src/applet.c
@@ -3034,11 +3034,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]