Commit Graph

3174 Commits

Author SHA1 Message Date
tg 9ab9ee194c fix shf.c-internal buffer overread on printing digits,
introduced by the utf_skipcols()-related fixes, more
specifically the check for combining multibyte characters
past end of given width (bogus mixed-up semantics we have here)
by reïntroducing the NUL byte from commitid 1005474EE1E4024A4E4
2016-05-17 15:36:35 +00:00
KO Myung-Hun e8966076c8 Merge remote-tracking branch 'mksh/master' 2016-05-06 17:12:52 +09:00
tg 55e51d9580 add, with a warning, regression testcases for:
• trailing combining character
• ${!#} and friends

the warning is: pid_t is signed (so PIDs could be negative) and may be
rather long, in some cases even longer than a C “long”; we’ll need to
handle this by adding checks (sizeof pid_t=gid_t, sizeof pid_t must be
either mksh_ari_t or u_short) and code (always print $$/$! as unsigned,
set unsigned attribute on $BASHPID and friends)
2016-05-05 22:58:19 +00:00
tg 92833fc6ce fix utf_widthadj/utf_skipcols handling for the remaining cases I can spot 2016-05-05 22:56:15 +00:00
tg 3d130b606a give C_VAR1 precedence over display variable name; izabera pointed out,
rightfully, that, in POSIX shell, ${!#} is defined, and ${!#123} should work
2016-05-05 22:45:58 +00:00
tg b6e438037f collapse uselessly nested if 2016-05-05 22:19:04 +00:00
tg 370b3e6008 fix trailing combining characters in all shf functions 2016-05-05 21:38:12 +00:00
tg 152eee2085 handle combining characters at the end of the string correctly 2016-05-05 21:33:46 +00:00
tg 2e74da0953 fix potential off-by-one 2016-05-05 21:29:24 +00:00
tg 3da248755a bump 2016-04-14 15:38:38 +00:00
tg 1cc8f76f07 fix order of bounds checks; inspired by NetBSD#50747 2016-04-14 11:51:26 +00:00
tg 83cde99aee fix redefining FKSH functions as !FKSH (e.g. the smores change) 2016-04-09 16:41:07 +00:00
tg da085fd7d2 simplify 2016-04-09 16:33:23 +00:00
tg 4c4131dddf commitid 10056D5D8AF01B31531 broke fix for Debian #783978 (add testsuite) 2016-04-09 13:55:12 +00:00
KO Myung-Hun 52c47ec69e os2: fix the last character of a response file is splitted
For example, if a response file has the following:

    0123456789

Then, it is splitted into two arguments, 012345678 and 9.

    modified:   os2.c
2016-03-20 11:28:22 +09:00
tg 838833ba86 pass on RCSID 2016-03-12 20:45:38 +00:00
KO Myung-Hun 8178a963f4 Merge remote-tracking branch 'mksh/master' 2016-03-08 20:45:12 +09:00
KO Myung-Hun 49f8d66175 Merge tag 'mksh-R52c' 2016-03-08 20:44:01 +09:00
tg 842e353011 lintian has new spelling warnings 2016-03-06 21:01:28 +00:00
root 76419a6813 This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
Sprout from master 2016-03-05 15:39:36 UTC tg <tg@mirbsd.org> 'expanded tests for command/whence, from Martijn Dekker'
Delete:
    Makefile
2016-03-05 15:39:37 +00:00
tg 1a795b7cdb expanded tests for command/whence, from Martijn Dekker 2016-03-05 15:39:36 +00:00
KO Myung-Hun 68f6e899ef Merge tag 'mksh-R52c' 2016-03-05 14:59:34 +09:00
root 10d43a1622 This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
Sprout from master 2016-03-04 18:28:42 UTC tg <tg@mirbsd.org> 'document upcoming set +o changes; bump'
Delete:
    Makefile
2016-03-04 18:28:43 +00:00
tg 4ccfd5fab5 document upcoming set +o changes; bump 2016-03-04 18:28:42 +00:00
tg cb0604767f address latest Debian gcc-snapshot’s warnings (some actual bugs!) 2016-03-04 14:26:16 +00:00
tg e8d6b5c2a3 render PDF manpages in PA4 paper size ipv DIN ISO A4 paper size 2016-03-03 23:51:31 +00:00
tg fdfd7a2ab8 collapse if, also to avoid braces warning 2016-03-01 20:28:33 +00:00
tg 85c377dfc2 don’t read past buffer for empty nameref targets (fmunozs, Valgrind) 2016-03-01 20:06:15 +00:00
tg 539714f78a there was a comment on 1015; change comments to match, no code change 2016-03-01 19:22:31 +00:00
tg c2bdb1b9dd check not-begun heredocs at EOF earlier
izabera reported they were not caught with “set -n”
2016-03-01 18:30:05 +00:00
tg 25a564460e explicitly block SIGEXIT and SIGERR in case some idiot defines it 2016-03-01 18:29:48 +00:00
tg 7c93759f66 fix invalid read for ksh93-style base-1 integers
(valgrind; reported by fmunozs via IRC, thanks!)
2016-03-01 18:29:38 +00:00
tg 819229fa50 also flush syntax-failed or interrupted input into the history 2016-03-01 18:00:08 +00:00
tg ca17c0f090 sync clog 2016-02-26 22:03:10 +00:00
tg f23ed68f00 clean up, avoid aliasing concerns in non-debug case 2016-02-26 21:53:37 +00:00
tg 4a21365067 yyrecursive needs its own and empty heres[]
fixes http://thread.gmane.org/gmane.comp.shells.dash/1241/focus=1245
2016-02-26 21:24:58 +00:00
tg 3b5f9c744c I didn’t like the code behind command -[Vv] and whence, so I rewrote it.
Bugreport by Martijn Dekker <martijn@inlv.org> about POSIX non-compliance
2016-02-26 20:56:45 +00:00
tg 143c2aa69c bring documentation of command up to date wrt. POSIX and whence wrt. command
(inspired from a bugreport by Martijn Dekker who noted this is currently broken)
2016-02-26 19:38:42 +00:00
tg 9c1568a8cc fix trimming with ? on $* and $@; missed by Todd Miller in r2.2 in ncvs
where it was fixed for ${foo[@]} and ${foo[*]}
2016-02-26 19:05:21 +00:00
tg a3c28ebd67 plug a few display problems with special parameter name expansions
reported by Stéphane Chazelas
2016-02-26 18:48:14 +00:00
tg c8da180d60 fix substitution error message 2016-02-26 18:05:10 +00:00
tg 80027c9e53 legibility 2016-02-26 17:58:30 +00:00
KO Myung-Hun e9364a4318 Merge remote-tracking branch 'mksh/master' 2016-02-25 14:56:35 +09:00
tg 2a3773b70b share structures better, less (void *) casts when we can stay typed 2016-02-24 02:08:39 +00:00
tg 08e1c6a9ea ADELIM can be ‘}’ too, not just ‘/’, in code that checks for / vs. //
caught by new code after segfault report by bef0rd on IRC (thanks!)
2016-02-24 01:47:32 +00:00
tg e9fc158472 plug a buffer underflow read we executed with *every* testsuite run and
*every* interactive shell session (history didn’t contain anything when
we tested for ignoredups)… first caught by the new code… d’uuuuuuuuuuh!
2016-02-24 01:45:59 +00:00
tg f0a042f070 implement mmap-using mechanism to catch buffer underruns inside mksh
(pulls stdio, is rather BSD-specific and memory-hungry and a bit slow)
2016-02-24 01:44:46 +00:00
tg 8e7abc48eb head(1) is not portable (-n 1 not præ-POSIX/ancient, -1 not busybox)
⇒ use sed(1)

bug spotted by wbx@
2016-02-11 20:19:44 +00:00
tg af94276ea7 merge most recent portmdoc into a̲l̲l̲ of its users; fixup .\& into \&. like
in mksh(1), for Schillix ditroff
2016-02-11 20:12:09 +00:00
tg 19ab699100 fix working with ditroff on Schillix, confirmed by Jvrg 2016-02-11 19:00:50 +00:00