[Bug libc/32448] iconv reports failure with successful transliteration

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Mon Dec 16 20:34:26 GMT 2024


https://sourceware.org/bugzilla/show_bug.cgi?id=32448

--- Comment #2 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Aurelien Jarno <aurel32@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9a4b0eaf726f5404c6683d5c7c5e86f61c3f3fbc

commit 9a4b0eaf726f5404c6683d5c7c5e86f61c3f3fbc
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sat Dec 14 11:44:11 2024 +0100

    iconv: do not report error exit with transliteration [BZ #32448]

    Commit 6cbf845fcdc7 ("iconv: Preserve iconv -c error exit on invalid
    inputs (bug 32046)") changed the error exit code to report an error when
    an input character has been transliterated. This looks like a bug as the
    moto in the iconv program is to report an error code in the same
    condition as the iconv() function.

    This happens because the STANDARD_TO_LOOP_ERR_HANDLER macro sets a
    default value for result and later updates it if the transliteration
    succeed. With the changes, setting the default value also marks the
    input as illegal.

    Fix that by setting up the default value of result only when the
    transliteration is not used. This works because __gconv_transliterate()
    calls __gconv_mark_illegal_input() to return an error. At the same time
    also fix the typo outself -> ourselves.

    Fixes: 6cbf845fcdc7
    Resolves: BZ #32448
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list