diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-05-21 10:34:21 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-05-21 12:03:54 +0200 |
commit | 7e740ab2e7be7d83b75513aa406e0b10875f7f9c (patch) | |
tree | ddeb5ddc8c43af310927c3db8b164a91a74ac248 /ChangeLog | |
parent | 09e1b0e3f6facc1af2dbcfef204f0aaa8718772b (diff) | |
download | glibc-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-- | ChangeLog | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -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] |