| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
bin: normalize paths using SRCTOP-relative paths or :H when possible
This simplifies make logic/output
|
|
|
|
|
|
|
|
| |
settings.
After executing a builtin with different locale settings such as
LC_ALL=C true
SIGINT handling was left disabled indefinitely.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The parsed internal representation of words consists of a byte string with a
list of nodes (commands in command substitution). Each unescaped CTLBACKQ or
CTLBACKQ | CTLQUOTE byte corresponds to an entry in the list.
If param in ${param#%##%%word} is not set, the word is not expanded (in a
deviation of POSIX shared with other ash variants and ksh93). Erroneously,
the pointer in the list of commands (argbackq) was not advanced. This caused
the wrong command to be executed later if the outer word contained another
command substitution.
Example:
echo "${unsetvar#$(echo a)}$(echo b)"
wrote "a" but should write "b".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code like t=$(stat -f %m "$file") segfaulted if -T was active and a trap
was taken while the shell was waiting for the child process to finish.
What happened was that the dotrap() call in waitforjob() was hit. This
re-entered command execution (including expand.c) at a point not expected by
expbackq(), and global state (unallocated stack string and argbackq) was
corrupted.
To fix this, change expbackq() to prepare for command execution to be
re-entered.
Reported by: bdrewery
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r313659:
Remove space at and of line
Reported by: make manlint
MFC after: 2 days
r313660:
Remove empty Li
Reported by: make manlint
MFC after: 2 days
r313661:
Escape Ss to avoid confusion by mdoc parser with the Ss macro
Reported by: make manlint
MFC after: 2 days
r313662:
Add missing -width after -Bl -tag
Reported by: make manlint
MFC after: 2 days
r313663:
Add missing section after .Xr reference
r313664:
Escape No to avoid confusion with the No macro
r313665:
Remove useless .Pp after the .Sh macro and remove empty line
r313666:
Remove empty space at EOL and escept Ed
r313667:
Remove spaces at EOL and sort correctly the SEE ALSO section
r313668:
Add missing section in manpage reference
r313669:
Properly use .An macro before Authors name
r313670:
Escape Sm to avoid confusion with Sm macro
r313671:
Use correct date format
r313672:
Remove useless Li macro
r313673:
Remove spaces at end of line
Reported by: make manlint
|
|
|
|
|
|
| |
Path generation was not according to collate
Approved by: jilles
|
|
|
|
|
| |
The format limits descriptions to 18 characters and is not changed, so
the descriptions do not describe the limits exactly.
|
|
|
|
|
|
|
|
|
| |
The first file in these lists will generate everything else so only
it should be getting a .meta file. With bmake's missing=yes meta
feature these would otherwise cause a rebuild without the
.NOMETA hint.
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
|
|
|
| |
case of \c in the prompt format string is a no-op. We already passed
this test at the top of the loop, and i has not yet been incremented in
this path. Change this test to (i < PROMPTLEN - 2).
Reported by: Coverity
CID: 1008328
Reviewed by: cem
MFC after: 1 week
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
| |
They were swapped.
X-Confirmed by: jilles
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the magic constant 127 in the loop interation count with
"PROMPTLEN - 1".
gethostname() is not guaranteed to NUL terminate the destination
string if it is too short. Decrease the length passed to gethostname()
by one, and add a NUL at the end of the buffer to make sure the
following loop to find the end of the name properly terminates.
The default: case is the likely cause of Coverity CID 1008328. If
i is 126 at the top of the loop interation where the default case
is triggered, i will be incremented to 127 by the default case,
then incremented to 128 at the top of the loop before being compared
to 127 (PROMPTLENT - 1) and terminating the loop. Then the NUL
termination code after the loop will write to ps[128]. Fix by
checking for overflow before incrementing the index and storing the
second character in the buffer.
These fixes are not guaranteed to satisfy Coverity. The code that
increments i in the 'h'/'H' and 'w'/'W' cases may be beyond its
capability to analyze, but the code appears to be safe.
Reported by: Coverity
CID: 1008328
Reviewed by: jilles, cem
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D6482
|
|
|
|
|
|
| |
This avoids running target binaries.
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after r298107
Summary of changes:
- Replace all instances of FILES/TESTS with ${PACKAGE}FILES. This ensures that
namespacing is kept with FILES appropriately, and that this shouldn't need
to be repeated if the namespace changes -- only the definition of PACKAGE
needs to be changed
- Allow PACKAGE to be overridden by callers instead of forcing it to always be
`tests`. In the event we get to the point where things can be split up
enough in the base system, it would make more sense to group the tests
with the blocks they're a part of, e.g. byacc with byacc-tests, etc
- Remove PACKAGE definitions where possible, i.e. where FILES wasn't used
previously.
- Remove unnecessary TESTSPACKAGE definitions; this has been elided into
bsd.tests.mk
- Remove unnecessary BINDIRs used previously with ${PACKAGE}FILES;
${PACKAGE}FILESDIR is now automatically defined in bsd.test.mk.
- Fix installation of files under data/ subdirectories in lib/libc/tests/hash
and lib/libc/tests/net/getaddrinfo
- Remove unnecessary .include <bsd.own.mk>s (some opportunistic cleanup)
Document the proposed changes in share/examples/tests/tests/... via examples
so it's clear that ${PACKAGES}FILES is the suggested way forward in terms of
replacing FILES. share/mk/bsd.README didn't seem like the appropriate method
of communicating that info.
MFC after: never probably
X-MFC with: r298107
PR: 209114
Relnotes: yes
Tested with: buildworld, installworld, checkworld; buildworld, packageworld
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
|
|
|
| |
If the hostname is empty and \h is used in $PS1,
the remainder of the prompt following \h will be empty.
Likewise for $PWD and \w. Fix it.
Reviewed by: jilles
MFC after: 1 week
Sponsored by: Dell Inc.
Differential Revision: https://reviews.freebsd.org/D6188
|
| |
|
|\
| |
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids 'build command changed' due to CFLAGS/CC changes during the
normal build. Without this the build-tools targets end up rebuilding
for the *target* rather than keeping the native versions built in
build-tools.
Sponsored by: EMC / Isilon Storage Division
|
| | |
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| | |
Found with devel/coccinelle.
Reviewed by: jilles
|
| |
| |
| |
| |
| | |
The builtins/getopts1.0 test failed if a single-character file existed in
the current directory.
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| | |
MFC after: 1 week
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| |
| | |
This just copied uninitialized data and did not depend on it later, so it
should not be dangerous.
Found by: clang static analyzer
|
| |
| |
| |
| |
| |
| |
| |
| | |
login.conf(5) support.
Reviewed by: jilles
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D5610
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| | |
Sponsored by: EMC / Isilon Storage Division
|
| |
| |
| |
| |
| | |
The option does not do anything so check that the output of 'set +o' is
different.
|
| |
| |
| |
| | |
Reported by: hrs
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| | |
Found by: clang static analyzer
|
| | |
|
| | |
|
| |
| |
| |
| | |
Sponsored by: The FreeBSD Foundation
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
breaking the ABI. Special value is stored in the lock pointer to
indicate shared lock, and offline page in the shared memory is
allocated to store the actual lock.
Reviewed by: vangyzen (previous version)
Discussed with: deischen, emaste, jhb, rwatson,
Martin Simmons <martin@lispworks.com>
Tested by: pho
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| |
| |
| | |
These are no longer needed after the recent 'beforebuild: depend' changes
and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports
skipping 'make depend'.
Sponsored by: EMC / Isilon Storage Division
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| |
| |
| |
| | |
r295825 erroneously dropped the newline from the input data for 'set -v'
output and multiline history.
Reported by: vangyzen
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| | |
|
| |
| |
| |
| | |
Avoid doing work to print an empty prompt (such as when reading scripts).
|
| |
| |
| |
| |
| | |
Output is flushed when a builtin is done or immediately after writing it
(error messages, set -v output, prompts).
|
| |
| |
| |
| |
| | |
This fixes bugs where '\0' was not removed correctly and speeds up the
parser.
|
| | |
|
|\ \
| |/
| |
| | |
Sponsored by: The FreeBSD Foundation
|
| |
| |
| |
| | |
Sponsored by: EMC / Isilon Storage Division
|