summaryrefslogtreecommitdiffstats
path: root/sys/boot/forth
diff options
context:
space:
mode:
authordteske <dteske@FreeBSD.org>2015-04-08 19:12:38 +0000
committerdteske <dteske@FreeBSD.org>2015-04-08 19:12:38 +0000
commitf57a64395c7d842a3db1091751a43be732c84af2 (patch)
tree5f6f902ffcd479eae2c36ec16c4292b854a9cf5a /sys/boot/forth
parent7dad71922e824c525e829d6463dfda824213c2ae (diff)
downloadFreeBSD-src-f57a64395c7d842a3db1091751a43be732c84af2.zip
FreeBSD-src-f57a64395c7d842a3db1091751a43be732c84af2.tar.gz
Fix a bootlock condition if/when loader_logo is set in loader.conf(5)
NB: This deeply effected HardenedBSD which had a default value set. Embarassingly, I allowed the `type' primitive to be passed -1/-1 for c-addr/u stack input (the effect of which is to pull INT_MAX bytes from character address negative one in which hilarity ensues over a black screen in full-on bootlock). Much thanks to Shawn Webb [lattera] for helping me diagnose. NB: The mode-ending revisions were initially suspected (and reverted) but proved to be a red-herring. Proper mode endings will be returning. Thanks to: lattera (@HardenedBSD [<dot><com>]) Reported by: lattera MFC after: 3 days X-MFC-to: stable/10
Diffstat (limited to 'sys/boot/forth')
-rw-r--r--sys/boot/forth/version.4th6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/boot/forth/version.4th b/sys/boot/forth/version.4th
index a4d4dfb..274f05a 100644
--- a/sys/boot/forth/version.4th
+++ b/sys/boot/forth/version.4th
@@ -85,10 +85,12 @@ only forth definitions also version-processing
dup versionX @ swap - versionY @ at-xy
\ Print the version (optionally in cyan)
- loader_color? dup ( -- bool bool )
+ loader_color? dup ( c-addr/u -- c-addr/u bool bool )
if 6 fg then
- type
+ -rot type
if 7 fg then
+
+ 0 25 at-xy
;
only forth definitions
OpenPOWER on IntegriCloud