<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>3c2643a7dbac370b7232f4e5ac15fd77b9ff396d - sh: Don&apos;t assume EINTR means SIGALRM</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#3c2643a7dbac370b7232f4e5ac15fd77b9ff396d</link>
        <description>sh: Don&apos;t assume EINTR means SIGALRMWhile waiting for input in the read builtin, if select() is interruptedbut there is no pending signal, we act like we timed out, and return thesame status as if we had been interrupted by SIGALRM, instead of loopinguntil we actually do time out.* Replace the single select() call with a ppoll() loop.* Improve validation of the timeout value.  We now accept things like  &quot;1h30m15s&quot;, which we used to silently truncate to &quot;1h&quot;.  The flip side  is that we no longer accept things like &quot;1hour&quot; or &quot;5sec&quot;.* Modify the existing `read -t 0` test case to verify that read returns  immediately when there is input and fails immediately when there isn&apos;t.* Add a second test case which performs the same tests with a non-zero  timeout value.PR:		290844MFC after:	1 weekFixes:          c4539460e3a4 (&quot;sh: Improve error handling in read builtin:&quot;)Reviewed by:	jilles, bdreweryDifferential Revision:	https://reviews.freebsd.org/D53761

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 19 Nov 2025 10:43:13 +0000</pubDate>
        <dc:creator>Dag-Erling Sm&#248;rgrav &lt;des@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>75a6c38e4d5c651b7398bf2bea5baa41a0939e92 - sh: Fix a double free in a rare scenario with pipes</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#75a6c38e4d5c651b7398bf2bea5baa41a0939e92</link>
        <description>sh: Fix a double free in a rare scenario with pipesThe command  sh -c &apos;sleep 3 | sleep 2 &amp; sleep 3 &amp; kill %1; wait %1&apos;crashes (with appropriate sanitization such as puttingMALLOC_CONF=abort:true,junk:true in the environment or compiling with-fsanitize=address).What happens here is that waitcmdloop() calls dowait() with a NULL jobpointer, instructing dowait() to freejob() if it&apos;s a non-interactiveshell and $! was not and cannot be referenced for it. However,waitcmdloop() then uses fields possibly freed by freejob() and callsfreejob() again.This only occurs if the job being waited for is identified via % syntax($! has never been referenced for it), it is a pipeline with two or moreelements and another background job has been started before the waitcommand. That seems special enough for a bug to remain. Test scriptswritten by Jilles would almost always use $! and not % syntax.We can instead make waitcmdloop() pass its job pointer to dowait(),fixing up things for that (waitcmdloop() will have to call deljob() ifit does not call freejob()).The crash fromhttps://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290330#c2 appears tobe the same bug.PR:		290330Reported by:	bdreweryReviewed by:	bdreweryDifferential Revision:	https://reviews.freebsd.org/D53773

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 15 Nov 2025 16:43:03 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>119fb2a288a48b566f5b2c195edfdb980f876d76 - sh(1): Do not interpret chdir to &quot;&quot; as equivalent to chdir with no argument</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#119fb2a288a48b566f5b2c195edfdb980f876d76</link>
        <description>sh(1): Do not interpret chdir to &quot;&quot; as equivalent to chdir with no argumentA script that does the following:    cd &quot;${dir}&quot; || exit 1would incorrectly remain in the current directory when `${dir}` isan empty string under the current implementation. This behavior,while historical, is potentially dangerous, as it is likely notwhat the script author intended.Change the command to treat an empty string as an error and emit adiagnostic message to standard error, as required byIEEE Std 1003.1-2024.PR:		standards/287440Test Plan:	kyua test bin/shRelnotes:	yesDifferential Revision: https://reviews.freebsd.org/D50974

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 02 Jul 2025 05:09:29 +0000</pubDate>
        <dc:creator>Xin LI &lt;delphij@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e9ac41698b2f322d55ccf9da50a3596edb2c1800 - Remove residual blank line at start of Makefile</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#e9ac41698b2f322d55ccf9da50a3596edb2c1800</link>
        <description>Remove residual blank line at start of MakefileThis is a residual of the $FreeBSD$ removal.MFC After: 3 days (though I&apos;ll just run the command on the branches)Sponsored by: Netflix

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Mon, 15 Jul 2024 04:46:32 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf - Remove $FreeBSD$: one-line sh pattern</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</link>
        <description>Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 16 Aug 2023 17:55:03 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>755a1be6d015287763b0f336d4e9b8179615f511 - sh: accept fc options grouped behind one &apos;-&apos;</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#755a1be6d015287763b0f336d4e9b8179615f511</link>
        <description>sh: accept fc options grouped behind one &apos;-&apos;As per Utility Syntax Guidelines, accept both forms: -l -n and -ln.To do that, anticipate the source string for the next option that willbe parsed by nextopt(). It&apos;s not always *argptr, sometimes it isnextopt_optptr.To simplify the check for not_fcnumber, slightly modify nextopt() toalways nullify nextopt_optptr in cases where it would have been setto point to a NUL character.Reviewed by:	jillesDifferential Revision:	https://reviews.freebsd.org/D35836

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 20 Aug 2022 10:15:05 +0000</pubDate>
        <dc:creator>Piotr Pawel Stefaniak &lt;pstef@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e31fb97148f7a392aaf6cc84579a232f2969b9d1 - read builtin: Empty variables on timeout</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#e31fb97148f7a392aaf6cc84579a232f2969b9d1</link>
        <description>read builtin: Empty variables on timeoutThis matches how a non-timeout error is handled.Reviewed by:	jillesMFC after:	2 weeksDifferential Revision: https://reviews.freebsd.org/D31876

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 23 May 2020 17:01:45 +0000</pubDate>
        <dc:creator>Bryan Drewery &lt;bdrewery@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ccd0a51fda561d10e091926a83e5bca0e6f41d6d - sh: Write absolute path in command -vV and type</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#ccd0a51fda561d10e091926a83e5bca0e6f41d6d</link>
        <description>sh: Write absolute path in command -vV and typePOSIX is pretty clear that command -v, command -V and type shall writeabsolute pathnames. Therefore, we need to prepend the current directory&apos;sname to relative pathnames.This can happen either when PATH contains a relative pathname or when theoperand contains a slash but is not an absolute pathname.

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Tue, 01 Sep 2020 13:19:15 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3c2643a7dbac370b7232f4e5ac15fd77b9ff396d - sh: Don&apos;t assume EINTR means SIGALRM</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#3c2643a7dbac370b7232f4e5ac15fd77b9ff396d</link>
        <description>sh: Don&apos;t assume EINTR means SIGALRMWhile waiting for input in the read builtin, if select() is interruptedbut there is no pending signal, we act like we timed out, and return thesame status as if we had been interrupted by SIGALRM, instead of loopinguntil we actually do time out.* Replace the single select() call with a ppoll() loop.* Improve validation of the timeout value.  We now accept things like  &quot;1h30m15s&quot;, which we used to silently truncate to &quot;1h&quot;.  The flip side  is that we no longer accept things like &quot;1hour&quot; or &quot;5sec&quot;.* Modify the existing `read -t 0` test case to verify that read returns  immediately when there is input and fails immediately when there isn&apos;t.* Add a second test case which performs the same tests with a non-zero  timeout value.PR:		290844MFC after:	1 weekFixes:          c4539460e3a4 (&quot;sh: Improve error handling in read builtin:&quot;)Reviewed by:	jilles, bdreweryDifferential Revision:	https://reviews.freebsd.org/D53761

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 19 Nov 2025 10:43:13 +0000</pubDate>
        <dc:creator>Dag-Erling Sm&#248;rgrav &lt;des@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>75a6c38e4d5c651b7398bf2bea5baa41a0939e92 - sh: Fix a double free in a rare scenario with pipes</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#75a6c38e4d5c651b7398bf2bea5baa41a0939e92</link>
        <description>sh: Fix a double free in a rare scenario with pipesThe command  sh -c &apos;sleep 3 | sleep 2 &amp; sleep 3 &amp; kill %1; wait %1&apos;crashes (with appropriate sanitization such as puttingMALLOC_CONF=abort:true,junk:true in the environment or compiling with-fsanitize=address).What happens here is that waitcmdloop() calls dowait() with a NULL jobpointer, instructing dowait() to freejob() if it&apos;s a non-interactiveshell and $! was not and cannot be referenced for it. However,waitcmdloop() then uses fields possibly freed by freejob() and callsfreejob() again.This only occurs if the job being waited for is identified via % syntax($! has never been referenced for it), it is a pipeline with two or moreelements and another background job has been started before the waitcommand. That seems special enough for a bug to remain. Test scriptswritten by Jilles would almost always use $! and not % syntax.We can instead make waitcmdloop() pass its job pointer to dowait(),fixing up things for that (waitcmdloop() will have to call deljob() ifit does not call freejob()).The crash fromhttps://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290330#c2 appears tobe the same bug.PR:		290330Reported by:	bdreweryReviewed by:	bdreweryDifferential Revision:	https://reviews.freebsd.org/D53773

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 15 Nov 2025 16:43:03 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>119fb2a288a48b566f5b2c195edfdb980f876d76 - sh(1): Do not interpret chdir to &quot;&quot; as equivalent to chdir with no argument</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#119fb2a288a48b566f5b2c195edfdb980f876d76</link>
        <description>sh(1): Do not interpret chdir to &quot;&quot; as equivalent to chdir with no argumentA script that does the following:    cd &quot;${dir}&quot; || exit 1would incorrectly remain in the current directory when `${dir}` isan empty string under the current implementation. This behavior,while historical, is potentially dangerous, as it is likely notwhat the script author intended.Change the command to treat an empty string as an error and emit adiagnostic message to standard error, as required byIEEE Std 1003.1-2024.PR:		standards/287440Test Plan:	kyua test bin/shRelnotes:	yesDifferential Revision: https://reviews.freebsd.org/D50974

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 02 Jul 2025 05:09:29 +0000</pubDate>
        <dc:creator>Xin LI &lt;delphij@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e9ac41698b2f322d55ccf9da50a3596edb2c1800 - Remove residual blank line at start of Makefile</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#e9ac41698b2f322d55ccf9da50a3596edb2c1800</link>
        <description>Remove residual blank line at start of MakefileThis is a residual of the $FreeBSD$ removal.MFC After: 3 days (though I&apos;ll just run the command on the branches)Sponsored by: Netflix

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Mon, 15 Jul 2024 04:46:32 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf - Remove $FreeBSD$: one-line sh pattern</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</link>
        <description>Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Wed, 16 Aug 2023 17:55:03 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>755a1be6d015287763b0f336d4e9b8179615f511 - sh: accept fc options grouped behind one &apos;-&apos;</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#755a1be6d015287763b0f336d4e9b8179615f511</link>
        <description>sh: accept fc options grouped behind one &apos;-&apos;As per Utility Syntax Guidelines, accept both forms: -l -n and -ln.To do that, anticipate the source string for the next option that willbe parsed by nextopt(). It&apos;s not always *argptr, sometimes it isnextopt_optptr.To simplify the check for not_fcnumber, slightly modify nextopt() toalways nullify nextopt_optptr in cases where it would have been setto point to a NUL character.Reviewed by:	jillesDifferential Revision:	https://reviews.freebsd.org/D35836

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 20 Aug 2022 10:15:05 +0000</pubDate>
        <dc:creator>Piotr Pawel Stefaniak &lt;pstef@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e31fb97148f7a392aaf6cc84579a232f2969b9d1 - read builtin: Empty variables on timeout</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#e31fb97148f7a392aaf6cc84579a232f2969b9d1</link>
        <description>read builtin: Empty variables on timeoutThis matches how a non-timeout error is handled.Reviewed by:	jillesMFC after:	2 weeksDifferential Revision: https://reviews.freebsd.org/D31876

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sat, 23 May 2020 17:01:45 +0000</pubDate>
        <dc:creator>Bryan Drewery &lt;bdrewery@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ccd0a51fda561d10e091926a83e5bca0e6f41d6d - sh: Write absolute path in command -vV and type</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#ccd0a51fda561d10e091926a83e5bca0e6f41d6d</link>
        <description>sh: Write absolute path in command -vV and typePOSIX is pretty clear that command -v, command -V and type shall writeabsolute pathnames. Therefore, we need to prepend the current directory&apos;sname to relative pathnames.This can happen either when PATH contains a relative pathname or when theoperand contains a slash but is not an absolute pathname.

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Tue, 01 Sep 2020 13:19:15 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4600b569bb04e0dfe11e7728c40ddc7b5b3b2716 - sh: Don&apos;t treat % specially in CDPATH</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#4600b569bb04e0dfe11e7728c40ddc7b5b3b2716</link>
        <description>sh: Don&apos;t treat % specially in CDPATH

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sun, 15 Jul 2018 21:55:17 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4d7f36eea512377761f16ab24054c9b321b8539f - sh: Don&apos;t have [ match any [[:class:]]</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#4d7f36eea512377761f16ab24054c9b321b8539f</link>
        <description>sh: Don&apos;t have [ match any [[:class:]]Submitted by:	Robert ElzMFC after:	3 days

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sun, 29 Apr 2018 17:46:08 +0000</pubDate>
        <dc:creator>Jilles Tjoelker &lt;jilles@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>531c2d7af3cd2e64eec94aa1b19c4b2f16fce515 - MFhead@r320180</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#531c2d7af3cd2e64eec94aa1b19c4b2f16fce515</link>
        <description>MFhead@r320180

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Mon, 24 Jul 2017 18:02:13 +0000</pubDate>
        <dc:creator>Enji Cooper &lt;ngie@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>bca9d05fdb058aa709621661c2feccae8940d94b - Merge ^/head r319973 through 321382.</title>
        <link>http://opengrok.net:8080/history/src/bin/sh/tests/builtins/Makefile#bca9d05fdb058aa709621661c2feccae8940d94b</link>
        <description>Merge ^/head r319973 through 321382.

            List of files:
            /src/bin/sh/tests/builtins/Makefile</description>
        <pubDate>Sun, 23 Jul 2017 15:22:06 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
