forked from bminor/glibc
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
iconv: Revert steps array reference counting changes
The changes introduce a memory leak for gconv steps arrays whose first element is an internal conversion, which has a fixed reference count which is not decremented. As a result, after the change in commit 50ce3ea, the steps array is never freed, resulting in an unbounded memory leak. This reverts commit 50ce3ea ("gconv: Check reference count in __gconv_release_cache [BZ #24677]") and commit 7e740ab ("libio: Fix gconv-related memory leak [BZ #24583]"). It reintroduces bug 24583. (Bug 24677 was just a regression caused by the second commit.)
- Loading branch information
1 parent
c86b8e7
commit 0bfddfc
Showing
8 changed files
with
31 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,23 @@ | ||
2019-07-31 Florian Weimer <[email protected]> | ||
|
||
[BZ #24583] | ||
[BZ #24677] | ||
iconv, libio: Revert reference counting changes. | ||
* iconv/gconv_cache.c (__gconv_release_cache): Unconditionally | ||
free the steps array. | ||
* libio/Makefile (tests): Remove tst-wfile-gconv. | ||
(tests-container): Do not add tst-wfile-ascii. | ||
(tst-wfile-gconv-ENV): Do not set. | ||
(generated): Do not add tst-wfile-gconv.mtrace, | ||
tst-wfile-gconv.check. | ||
[($run-built-tests)] (tests-special): Do not add | ||
tst-wfile-gconv-mem.out. | ||
(tst-wfile-gconv.out, tst-wfile-gconv-mem.out): Remove targets. | ||
* libio/iofclose.c (_IO_new_fclose): Call __gconv_release_step | ||
instead of __wcsmbs_clone_conv. | ||
* wcsmbs/wcsmbsload.c (__wcsmbs_clone_conv): Remove definition. | ||
* wcsmbs/wcsmbsload.h (__wcsmbs_clone_conv): Remove declaration. | ||
|
||
2019-07-30 Joseph Myers <[email protected]> | ||
|
||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters