[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[6909] avoid free in xspara_new
From: |
Gavin D. Smith |
Subject: |
[6909] avoid free in xspara_new |
Date: |
Fri, 01 Jan 2016 21:13:44 +0000 |
Revision: 6909
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6909
Author: gavin
Date: 2016-01-01 21:13:43 +0000 (Fri, 01 Jan 2016)
Log Message:
-----------
avoid free in xspara_new
Modified Paths:
--------------
trunk/ChangeLog
trunk/tp/Texinfo/Convert/XSParagraph/xspara.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2016-01-01 18:58:36 UTC (rev 6908)
+++ trunk/ChangeLog 2016-01-01 21:13:43 UTC (rev 6909)
@@ -1,3 +1,9 @@
+2016-01-01 Gavin Smith <address@hidden>
+
+ * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_new): Don't
+ call free on TEXT objects, but reuse the storage. Attempt at
+ fixing 'Freed to wrong pool' error reported by Eli Zaretskii.
+
2016-01-01 Eli Zaretskii <address@hidden>
* tp/Texinfo/Convert/XSParagraph/xspara.c (mbrtowc): Don't try to
Modified: trunk/tp/Texinfo/Convert/XSParagraph/xspara.c
===================================================================
--- trunk/tp/Texinfo/Convert/XSParagraph/xspara.c 2016-01-01 18:58:36 UTC
(rev 6908)
+++ trunk/tp/Texinfo/Convert/XSParagraph/xspara.c 2016-01-01 21:13:43 UTC
(rev 6909)
@@ -267,11 +267,14 @@
dTHX; /* Perl boiler plate */
/* Avoid leaking the memory used last time. */
- free (state.space.text);
- free (state.word.text);
+ TEXT saved_space = state.space, saved_word = state.word;
- /* Default values for formatter. */
+ /* Default values for formatter, reusing storage. */
memset (&state, 0, sizeof (state));
+ state.space = saved_space;
+ state.word = saved_word;
+ state.space.end = state.word.end = 0;
+
state.max = 72;
state.indent_length_next = -1; /* Special value meaning undefined. */
state.end_sentence = -2; /* Special value meaning undefined. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [6909] avoid free in xspara_new,
Gavin D. Smith <=