From: Siddhesh Poyarekar <siddhesh@gotplt.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: Jakub Jelinek <jakub@redhat.com>,
libc-alpha@sourceware.org, Andreas Schwab <schwab@linux-m68k.org>,
Florian Weimer <fweimer@redhat.com>,
Thomas Dickey <dickey@his.com>
Subject: Re: [RFC] _FORTIFY_SOURCE strictness
Date: Mon, 11 Apr 2022 13:32:38 +0530 [thread overview]
Message-ID: <c78a6c41-8026-2f15-4ede-c419c37f7854@gotplt.org> (raw)
In-Reply-To: <cb9a754f-0dd5-c9dc-be2d-1c7d2a0e29b0@cs.ucla.edu>
On 09/04/2022 02:37, Paul Eggert wrote:
> On 4/7/22 23:02, Siddhesh Poyarekar wrote:
>> Hmm, I think I conflated it with something other str* function.
>> You're right, strncpy probably doesn't fall into this category.
>
> Ouch, I made the same mistake.
>
> As for wcrtomb, unfortunately the standard's wording appears to allow
> you to pass an output buffer smaller than MB_CUR_MAX if you know that
> the multibyte character will fit into the smaller buffer. So I guess
> this is an example of a function where __FORTIFY_LEVEL > 2 doesn't
> conform to the standard.
>
> I don't know whether the standard's authors intended this.
>
Thomas (in cc, he maintains ncurses) found that the manual documents[1]
the fact that the glibc implementation of wcrtomb assumes the
destination buffer to have at least MB_CUR_MAX bytes, so this looks more
like a situation where we *deliberately* deviate from the standard.
If we decide to comply with the standard now we would incur an
additional copy from an internal buffer to the destination with in
addition to wrappers to pass the object size from the checking variant
whenever available. The question then is whether that's the direction
we want to take in glibc.
Siddhesh
[1]
https://www.gnu.org/software/libc/manual/html_node/Converting-a-Character.html
next prev parent reply other threads:[~2022-04-11 8:02 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 6:26 Siddhesh Poyarekar
2022-04-07 10:16 ` Andreas Schwab
2022-04-08 3:24 ` Siddhesh Poyarekar
2022-04-08 2:26 ` Paul Eggert
2022-04-08 3:32 ` Siddhesh Poyarekar
2022-04-08 5:37 ` Florian Weimer
2022-04-08 6:02 ` Siddhesh Poyarekar
2022-04-08 21:07 ` Paul Eggert
2022-04-11 8:02 ` Siddhesh Poyarekar [this message]
2022-05-05 18:43 ` [PATCH 0/2] More compliant wcrtomb Siddhesh Poyarekar
2022-05-05 18:43 ` [PATCH 1/2] benchtests: Add wcrtomb microbenchmark Siddhesh Poyarekar
2022-05-06 9:10 ` Florian Weimer
2022-05-06 12:49 ` [committed] " Siddhesh Poyarekar
2022-05-06 12:50 ` [PATCH 1/2] " Adhemerval Zanella
2022-05-06 12:59 ` Siddhesh Poyarekar
2022-05-06 13:20 ` Adhemerval Zanella
2022-05-06 13:26 ` Siddhesh Poyarekar
2022-05-06 13:36 ` Siddhesh Poyarekar
2022-05-06 13:46 ` Adhemerval Zanella
2022-05-05 18:43 ` [PATCH 2/2] wcrtomb: Make behavior POSIX compliant Siddhesh Poyarekar
2022-05-06 9:25 ` Paul Eggert
2022-05-06 13:40 ` Adhemerval Zanella
2022-05-06 13:46 ` Siddhesh Poyarekar
2022-05-06 14:04 ` [PATCH v2] " Siddhesh Poyarekar
2022-05-09 13:22 ` Adhemerval Zanella
2022-05-09 13:35 ` Siddhesh Poyarekar
2022-05-12 13:15 ` [PATCH v3] " Siddhesh Poyarekar
2022-05-13 4:56 ` Paul Eggert
2022-05-13 5:28 ` Paul Eggert
2022-05-13 11:31 ` Siddhesh Poyarekar
2022-05-13 11:38 ` Florian Weimer
2022-05-13 11:51 ` Siddhesh Poyarekar
2022-05-13 12:55 ` Florian Weimer
2022-05-13 12:30 ` Adhemerval Zanella
2022-05-13 13:42 ` Siddhesh Poyarekar
2022-05-13 17:58 ` Paul Eggert
2022-05-13 13:45 ` [committed] " Siddhesh Poyarekar
2022-05-13 8:18 ` [PATCH v3] " Siddhesh Poyarekar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c78a6c41-8026-2f15-4ede-c419c37f7854@gotplt.org \
--to=siddhesh@gotplt.org \
--cc=dickey@his.com \
--cc=eggert@cs.ucla.edu \
--cc=fweimer@redhat.com \
--cc=jakub@redhat.com \
--cc=libc-alpha@sourceware.org \
--cc=schwab@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).