[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>
Sat, 29 Jun 2024 10:27:34 +0000 (13:27 +0300)
commit280b5bbb39b804e9581c96a0ade9d53c4517897e
tree837c12fe9a034002bf502965afeb2517422b348f
parentd6016015bff871bfcd42e6a9dcea8fa81a283947
[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