From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dmta0002.nifty.com (mta-snd00003.nifty.com [106.153.226.35]) by sourceware.org (Postfix) with ESMTPS id 656833858C36 for ; Fri, 10 Nov 2023 11:34:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 656833858C36 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 656833858C36 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=106.153.226.35 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699616094; cv=none; b=NZpYMpbJRMYGIznAVxUXX4/k/8igYu7qE+X8TiCtlyfJJ4vawgcJacBty26v+z80qrwzdF5Myiyxq8B0NboYeA/aPyHOy1MIyBIAY28HkZGiz3J4NKQ45KR3wh03wwRbdNIdJO/iUwZllSw7Bzw2+GgZFyFypC/fAfq+XUu4RfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699616094; c=relaxed/simple; bh=0HUrN2U2tqo6FhNutTaTZAAiUnYxMcKZekuVlkjYQwo=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=jYbR9tMruGtOWjBL9CAEGJyThJhYJh36Vhj/tfYcPbx/CUf7qnKa+jlSum2ypFWrdSZLAjpdXq5BMUH1ug1iJWbcxxyu1KL4sAX/DYz2J3VvnDMmvXGy/e8++x4DUoJWSCUo8SqkdZ0bZk4ngJq/9TBdKD6hHxMwVH2c4AOaYlU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from localhost.localdomain by dmta0002.nifty.com with ESMTP id <20231110113449714.UHDD.56322.localhost.localdomain@nifty.com>; Fri, 10 Nov 2023 20:34:49 +0900 From: Takashi Yano To: newlib@sourceware.org Cc: Takashi Yano , Christophe Lyon Subject: [PATCH] newlib: libc: Fix bugs in the commit 3d94e07c49b5. Date: Fri, 10 Nov 2023 20:34:36 +0900 Message-Id: <20231110113436.2022-1-takashi.yano@nifty.ne.jp> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The commit 3d94e07c49b5 has a few bugs which cause testsuite failure in libstdc++. This is due to excess orientation check in __srefill_r() and _ungetc_r(). This patch fixes them. Fixes: 3d94e07c49b5 ("newlib: libc: Fix crash on fprintf to a wide-oriented stream.") Reported-by: Christophe Lyon Reviewed-by: Signed-off-by: Takashi Yano --- newlib/libc/stdio/refill.c | 3 --- newlib/libc/stdio/ungetc.c | 8 ++------ 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/newlib/libc/stdio/refill.c b/newlib/libc/stdio/refill.c index c1ef7e120..cd71ed152 100644 --- a/newlib/libc/stdio/refill.c +++ b/newlib/libc/stdio/refill.c @@ -43,9 +43,6 @@ __srefill_r (struct _reent * ptr, CHECK_INIT (ptr, fp); - if (ORIENT (fp, -1) != -1) - return EOF; - fp->_r = 0; /* largely a convenience for callers */ /* SysV does not make this test; take it out for compatibility */ diff --git a/newlib/libc/stdio/ungetc.c b/newlib/libc/stdio/ungetc.c index 79914af08..5053fd6c4 100644 --- a/newlib/libc/stdio/ungetc.c +++ b/newlib/libc/stdio/ungetc.c @@ -125,12 +125,6 @@ _ungetc_r (struct _reent *rptr, _newlib_flockfile_start (fp); - if (ORIENT (fp, -1) != -1) - { - _newlib_flockfile_exit (fp); - return EOF; - } - /* After ungetc, we won't be at eof anymore */ fp->_flags &= ~__SEOF; @@ -213,6 +207,8 @@ int ungetc (int c, register FILE *fp) { + if (ORIENT (fp, -1) != -1) + return EOF; return _ungetc_r (_REENT, c, fp); } #endif /* !_REENT_ONLY */ -- 2.39.0