From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24585 invoked from network); 12 Jun 2023 14:45:00 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 12 Jun 2023 14:45:00 -0000 Received: (qmail 26106 invoked by uid 550); 12 Jun 2023 14:44:57 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 26069 invoked from network); 12 Jun 2023 14:44:57 -0000 ARC-Seal: i=1; a=rsa-sha256; t=1686581085; cv=none; d=strato.com; s=strato-dkim-0002; b=SsCyQ53sjADiRayVy4+Pl0LMYSKBrWIM+sh9h4Y0kSVDIzI5yDdO7Eka7EoG3XzEZf c2ha5vE0Cb6BlpfIaGtGfuG7VXq+UrwI6DVgh/Y6loavmKJuzJoSm8zC1n0IhM/ub+FA tpzxFiYQL+I8XEK24LjGvIZSv66EEM5L8A5kDmmRdX+GXeA8ymHbjaGOhVXNPJVmPVEn pW/ffBfv3b27UMIZzXLyzFINB9Mz1feGjV/mijwg/pYbyd4e15YqaZjtPHm9GZIQyc4b 2a8VLnbI3NZW74jwXOpo/eNVSZ67xCOqnCsXUYZ44aLyTUydveqnPUBDRAstWY/0WjGj D0ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1686581085; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=l0OnZA5lyiJiPliiKf4x1btxj4Qbq6SkmhQmTMJ9V70=; b=kAsb/9+X2mRNQ+hoMOrRhKj47EgURcNh2p5aEOU0B+wVrtX+GOL+Lgw4nFLqI+21l+ AqoZtBHYgxZegmtUbgXKIMUmt4H5pwyRq0a+NMeVxpjdO8HsgOD1ndySslQMts5wwc1T YgrI4CcqhnQTvruBcic3gsVF7dcwirO6m2f2wUuxoREaPDCLVTy0EmEa5SqITsil8/MM c7r0odEGfnAe8oXW23W6mWpuUXYjX1ZeNgdA7KKTlDiR2YsZS0/gyIcdBOP8bdj5F6p7 8Lqt5xdJ8gI5q3YScAeKJY4u6ToxCf5mJEKE7tDz4My4FfAGf96rpr87NrzDbPk5GlIY yNAg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1686581085; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=l0OnZA5lyiJiPliiKf4x1btxj4Qbq6SkmhQmTMJ9V70=; b=mx29cKtbkXd60NFZnInaVUjNLUvDliMEUUaCbumJMnZ0AC0fzUtLtt/F4yUU8kGman dw/mE+KGy+FPxIq/FAOSW9bXJLKceLUmrArO9yD0wOmFuzj0oJ9rpL+ZUrCgwEve2bkp +OM1HO0Nh2ZgfrnUFFndA44gL9M7l664CqXsP7lOfU04djxkTTC17KaJOoZFvpUA1x4K 9RBCjYmTjoR4fpo/tRzbK+6UNh1wVwfiXG0SjrKkqjJ1oM+CZOzbDoDsNrYkrXDfwTum lGvQDpqvFmb3T032pzRrxe1sl4ETcGs0FePsvO0HJN92elQGdQbV6GbCkaBBYATJQz9Z pcww== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1686581085; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=l0OnZA5lyiJiPliiKf4x1btxj4Qbq6SkmhQmTMJ9V70=; b=3pLw/AChOGdT62tyWWMid9s7bOR0Giyxea07mMBoXP9s/8c91ds/w6+LS8KbNLHD+i uVIb7/vHR9GBPSB6EkDA== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpPH2veC/hGrK50o7BgC1vUoZL6PCg==" From: Bruno Haible To: musl@lists.openwall.com Date: Mon, 12 Jun 2023 16:44:44 +0200 Message-ID: <2976941.0vhOF50zNu@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Subject: [musl] swprintf %lc directive does not work for some wide characters According to ISO C 11 =A7 7.29.2.1, in the *wprintf family of functions, the %lc directive works like this: "[If an l length modifier is present,] the wint_t argument is converted to wchar_t and written." Likewise in ISO C 17 =A7 7.29.2 and ISO C 23 =A7 7.31.2.1 and in POSIX:2018 . In musl libc 1.2.4 (as part of Alpine Linux 3.18.0) this does not work for some characters. How to reproduce: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D foo.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D #include #include int main () { static wint_t L_invalid =3D (wchar_t) 0x76543210; wchar_t buf[3]; int ret =3D swprintf (buf, 3, L"%lc", L_invalid); if (ret >=3D 0) fprintf (stderr, "OK, %d characters\n", ret); else perror ("swprintf failed"); } =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D $ gcc -Wall foo.c $ ./a.out Expected output: OK, 1 characters Actual output: swprintf failed: Illegal byte sequence