From: Pádraig Brady Date: Wed, 15 Jan 2025 22:08:07 +0000 (+0000) Subject: yes: avoid failure on CHERI protected systems X-Git-Tag: v9.6~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=261f13bcf84a6f7a3241bab48c074879db789fca;p=thirdparty%2Fcoreutils.git yes: avoid failure on CHERI protected systems * src/yes.c (main): Don't reuse the argv array as CHERI's capability bounds do not allow for that, failing like: $ yes $(seq 156) | head -n1 In-address space security exception (core dumped) --- diff --git a/src/yes.c b/src/yes.c index 396618cb5b..ceb7ce447b 100644 --- a/src/yes.c +++ b/src/yes.c @@ -96,6 +96,11 @@ main (int argc, char **argv) reuse_operand_strings = false; } +#if defined __CHERI__ + /* Cheri capability bounds do not allow for this. */ + reuse_operand_strings = false; +#endif + /* Fill the buffer with one copy of the output. If possible, reuse the operands strings; this wins when the buffer would be large. */ char *buf = reuse_operand_strings ? *operands : xmalloc (bufalloc);