]> git.ipfire.org Git - thirdparty/glibc.git/commit
Rewrite iconv option parsing [BZ #19519]
authorArjun Shankar <arjun@redhat.com>
Tue, 7 Jul 2020 18:31:48 +0000 (20:31 +0200)
committerArjun Shankar <arjun@redhat.com>
Tue, 7 Jul 2020 18:34:07 +0000 (20:34 +0200)
commit91927b7c76437db860cd86a7714476b56bb39d07
treefebc3201dd995bb8324b4712a31fef6d1bea388a
parent94d9c76e4acc798894ea23d9ac049ce7ce995ec0
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>
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