Age | Commit message (Collapse) | Author |
|
some kernel memory/symbol files.
|
|
|
|
|
|
We strdup operands before destructively parsing them to keep w(1) output
looking nice and neat, but after parsing we ought to free them.
We do need to keep copies for file paths, though, so add additional strdups
for operands if and of.
While here, use the preferred err(1, NULL) for an allocation failure. Also
while here, don't assign `oper' to a copy of itself because it looks strange.
"sure." deraadt
|
|
Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.
We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.
Discovered by tobias@ a while back.
ok deraadt millert tobias
|
|
the C API in section 3.
OK millert jmc nicm, "the right idea" deraadt
|
|
out of memory log_warn(). i.e. ("%s", __func__) instead of manual
function names and redundant verbiage about which wrapper detected the
out of memory condition.
ok henning@
|
|
commands to the other side could cause problems.
ok guenther tb
|
|
a missing NULL check added by jca@ which fixes the segfault in the installer.
ok jca@ tb@
|
|
install.sub's ${*:+$*} substitution in addel().
ok jca
|
|
variables; such as positional arguments. Since global() returns a pointer to
static storage for read-only variables, the memory pointed to needs to be copied
to prevent any subsequent call to global() to override the previously accessed
variable.
Bug reported by Andreas Kusalananda Kähäri on bugs@
ok benno@ jca@ tb@
|
|
So that ksh still looks for new mail every $MAILCHECK seconds,
even if the system clock is rolled backward.
ok anton@
|
|
|
|
Suggested by anton@
|
|
are balanced.
OK millert@ and tb@
|
|
key by default. The shell will query the terminfo database to
find the escape sequence to clear the screen. OK deraadt@
|
|
OK tb@
|
|
This is similar to what vi/ex does and removes the final BACKWARDS flag.
Behaviour requested by and OK tb@
|
|
behaviour.
OK tb@
|
|
ok kettenis, plus a fix from tb
|
|
Most terminals have scrollback options, or can be achieved via tmux, so
it's not needed.
OK millert@
|
|
POSIX states: "An empty command list shall be equivalent to the p command",
so changing the behaviour of a null-command in any other case is a
violation of POSIX.
OK millert@
|
|
jump around.
suggested and ok jmc@, ok jcm@
|
|
code and removes a few BACKWARDS flags.
OK otto@
|
|
a buildin command, that just calls into c_whence().
This makes type look like the buildin in other shells and makes
things like system("'type' 'git'"); work.
With lots of suggestions and feedback from anton@, kn@ and jca@.
ok kn@ jca@
|
|
'$' characters are escaped, so that we are POSIX compliant.
The omission of trailing '$' was originally hidden behind a BACKWARDS
flag. This flag was most likely introduced to be compatible with 4.4BSD.
Thanks to naddy@ for pointing me to the 4.4BSD ed implementation.
I tried to trace the origin and enabling of the BACKWARDS flag, since
both FreeBSD and NetBSD have the flag, but only FreeBSD doesn't have it
enabled. Both projects had an alm@ working on ed during 1993-1995 during
which he added this flag to both projects and only enabled it on NetBSD,
but I wasn't able to reach him on any known address.
Thanks to Ed Schouten (ed@freebsd), and Michael W. Lucas of the ed
Mastery book for helping me trying to locate Andrew Moore.
Problem originally prodded by garzon.lucero@gmail.com and later
independently re-requested by n.reusse@hxgn.net.
OK tb@, guenther@, and mwl@mwl.io
|
|
ntpd, but apparently date was never revisited. "wpath" is for wtmp logging.
"rpath" for the case where -z argument isn't in the standard timezone dir.
discussed with tb and guenther
|
|
Revision 1.28 (2008) fixed stack abuse by allocating a new one and
effectively clearing it. This broke pipelines such as
$ time for i in . ; do : ; done
/bin/ksh: : is read only
Prompted by tb, OK millert, tb, jca
|
|
Keeps $SECONDS advancing uniformly and independent of wall clock jumps.
ok jca@
|
|
No binary change on amd64 and there should be no differences on any
other 64 bit architecture either (because long = int64_t).
ok cheloha, tb
|
|
Much simpler.
Dropping writev makes the output from summary() non-atomic, so
output lines triggered by SIGINFO can intermingle with output
lines triggered by SIGINT or atexit(3).
This behavior is difficult to trigger, even deliberately.
The buffer in dprintf is large enough so that lines produced by
summary() are not garbled if this occurs, though, so this is unlikely
to break any scripts.
Discussed at length with deraadt@, who helpfully noted that
"not all problems have perfect solutions."
ok millert@
|
|
Previously it was possible to overflow integers while parsing. With this
diff, we support any kind of POSIX-compatible integers for comparisons.
with input by and ok schwarze, ok tb
|
|
requested by deraadt@ after repeated questions on bugs@ and tech@,
e.g. from Gregoire Jadi and Craig Skinner.
|
|
Initial diff by me, later improved by schwarze@; also ok jmc@
|
|
Based on FreeBSD's expr and NetBSD's old regression test suite.
with input by and ok schwarze
|
|
|
|
wrong function and fix the rest for consistency.
Diff from Michael W. Bombardieri with some cosmetic cleanup applied.
ok benno@ tb@
|
|
trying to quit.
Diff from Tim Chase
OK tb@ and millert@
|
|
ok millert@ tb@
|
|
mode, to avoid potential confusion pointed out by andreas dot kahari
at icm dot uu dot se on misc@.
Patch minimally tweaked based on a comment from jmc@.
OK anton@ jca@ jmc@ on the previous version without the tweak.
|
|
and NUL
ok millert krw tb
|
|
|
|
|
|
More informative than the usage message.
While here, no need to return EINVAL: just return 1 if we overflow.
ok jca@ schwarze@
|
|
Makes us compliant with POSIX.1-2008, which requires that sleep(1) support
up to 2147483647 seconds.
Bounced off of tb@ and jca@.
ok tb@ millert@ jca@
|
|
also took the time to provide an excellent explanation on why the code isn't
useful on tech@.
ok jca@
|
|
This helps tools like scan-build, and follows the example of warningf()
and errorf(). ok anton@
|
|
it's rarely subject to change. While here, unifdef RLIMIT_VMEM.
ok jca@
|
|
emacs.c:1041:2: warning: Value stored to 'cp' is never read
|
|
str_val returns null, not NULL, if the variable isn't set. The
erroneous check means that we later tried to open("").
ok millert@ tb@ anton@ benno@
|