]> 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)
committerFangrui Song <i@maskray.me>
Sat, 28 Aug 2021 00:26:08 +0000 (17:26 -0700)
commit804887a0c8d546cb4ffc7a57f3623e37c7102ac8
tree9aae66ece455e78ab5456d1731f0d316766eba86
parent77d2c2fd0d8245ce729ae7d3ba97279a4afc845a
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