summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKen Brown <kbrown@cornell.edu>2014-05-24 13:59:22 -0400
committerKen Brown <kbrown@cornell.edu>2014-05-24 13:59:22 -0400
commit791dd8e75bf03e9910409e9b6f6f70c37aa42332 (patch)
tree50514c36e5343a1333187f7589171d07b825b4a9 /src
parent3b1c4207001a24c047f73fe882ae16a1ff05cdc4 (diff)
downloademacs-791dd8e75bf03e9910409e9b6f6f70c37aa42332.tar.gz
Fix bug#17510 with a pointer freed more than once (Cygwin-w32-build).
* src/w32term.c (x_delete_display) [CYGWIN]: Don't free dpyinfo->w32_id_name, to make sure it doesn't get freed more than once.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/w32term.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c95e0c9de15..f7747c1e408 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2014-05-24 Ken Brown <kbrown@cornell.edu>
+
+ * w32term.c (x_delete_display) [CYGWIN]: Don't free
+ dpyinfo->w32_id_name, to make sure it doesn't get freed more than
+ once. (Bug#17510)
+
2014-05-24 Stefan Monnier <monnier@iro.umontreal.ca>
* xdisp.c: Bind inhibit-quit during pre-redisplay-function.
diff --git a/src/w32term.c b/src/w32term.c
index f914b5f8625..2781fb63d62 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -6426,7 +6426,11 @@ x_delete_display (struct w32_display_info *dpyinfo)
if (dpyinfo->palette)
DeleteObject (dpyinfo->palette);
}
+ /* Avoid freeing dpyinfo->w32_id_name more than once if emacs is
+ running as a daemon; see bug#17510. */
+#ifndef CYGWIN
xfree (dpyinfo->w32_id_name);
+#endif
w32_reset_fringes ();
}