aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-05-21 10:34:21 +0200
committerFlorian Weimer <fweimer@redhat.com>2019-05-21 12:03:54 +0200
commit7e740ab2e7be7d83b75513aa406e0b10875f7f9c (patch)
treeddeb5ddc8c43af310927c3db8b164a91a74ac248 /ChangeLog
parent09e1b0e3f6facc1af2dbcfef204f0aaa8718772b (diff)
downloadglibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.tar
glibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.tar.gz
glibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.tar.bz2
glibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.zip
libio: Fix gconv-related memory leak [BZ #24583]
struct gconv_fcts for the C locale is statically allocated, and __gconv_close_transform deallocates the steps object. Therefore this commit introduces __wcsmbs_close_conv to avoid freeing the statically allocated steps objects.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog17
1 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e0c7ac3de8..1dcb620e9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2019-05-21 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #24583]
+ * wcsmbs/wcsmbsload.h (__wcsmbs_close_conv): Declare.
+ * wcsmbs/wcsmbsload.c (__wcsmbs_close_conv): Define.
+ * libio/iofclose.c (_IO_new_fclose): Call __wcsmbs_close_conv
+ instead of __gconv_release_step.
+ * libio/Makefile (tests): Add tst-wfile-gconv.
+ (tests-container): Add tst-wfile-ascii.
+ (tst-wfile-gconv-ENV): Enable mtrace.
+ (generated): Add tst-wfile-gconv.mtrace, tst-wfile-gconv.check.
+ (tests-special): Add tst-wfile-gconv-mem.out.
+ (tst-wfile-gconv.out): Depend on locales.
+ (tst-wfile-gconv-mem.out): Add mtrace rule.
+ * libio/tst-wfile-ascii.c: New file.
+ * libio/tst-wfile-gconv.c: Likewise.
+
2019-05-20 Florian Weimer <fweimer@redhat.com>
[BZ #24588]