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 /wcsmbs/wcsmbsload.h | |
parent | 09e1b0e3f6facc1af2dbcfef204f0aaa8718772b (diff) | |
download | glibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.tar.gz glibc-7e740ab2e7be7d83b75513aa406e0b10875f7f9c.tar.xz 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 'wcsmbs/wcsmbsload.h')
-rw-r--r-- | wcsmbs/wcsmbsload.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/wcsmbs/wcsmbsload.h b/wcsmbs/wcsmbsload.h index 6ccad4b3ba..c2fffbd914 100644 --- a/wcsmbs/wcsmbsload.h +++ b/wcsmbs/wcsmbsload.h @@ -51,6 +51,7 @@ extern int __wcsmbs_named_conv (struct gconv_fcts *copy, const char *name) /* Function used for the `private.cleanup' hook. */ extern void _nl_cleanup_ctype (struct __locale_data *) attribute_hidden; +extern void __wcsmbs_close_conv (struct gconv_fcts *conv) attribute_hidden; #include <iconv/gconv_int.h> |