[PATCH] Rewrite iconv option parsing [BZ #19519]
authorArjun Shankar <arjun@redhat.com>
Tue, 7 Jul 2020 18:31:48 +0000 (20:31 +0200)
committerAdrian Bunk <bunk@debian.org>
Tue, 23 Apr 2024 16:23:00 +0000 (19:23 +0300)
commit968bc68384dced1a096dc51293432d6859cc5bd1
tree4db2db0f0268bb709cdfd5f223499e3231f265f4
parentc33661fcc2475c5ab79bd849e392cb97a28353ac
[PATCH] Rewrite iconv option parsing [BZ #19519]

This commit replaces string manipulation during `iconv_open' and iconv_prog
option parsing with a structured, flag based conversion specification.  In
doing so, it alters the internal `__gconv_open' interface and accordingly
adjusts its uses.

This change fixes several hangs in the iconv program and therefore includes
a new test to exercise iconv_prog options that originally led to these hangs.
It also includes a new regression test for option handling in the iconv
function.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Gbp-Pq: Topic all
Gbp-Pq: Name git-CVE-2016-10228-Rewrite-iconv-option-parsing-BZ-19519.diff
iconv/Makefile
iconv/Versions
iconv/gconv_charset.c [new file with mode: 0644]
iconv/gconv_charset.h
iconv/gconv_int.h
iconv/gconv_open.c
iconv/iconv_open.c
iconv/iconv_prog.c
iconv/tst-iconv-opt.c [new file with mode: 0644]
iconv/tst-iconv_prog.sh [new file with mode: 0644]
intl/dcigettext.c