diff options
author | dteske <dteske@FreeBSD.org> | 2015-04-08 19:12:38 +0000 |
---|---|---|
committer | dteske <dteske@FreeBSD.org> | 2015-04-08 19:12:38 +0000 |
commit | f57a64395c7d842a3db1091751a43be732c84af2 (patch) | |
tree | 5f6f902ffcd479eae2c36ec16c4292b854a9cf5a /sys/boot/forth | |
parent | 7dad71922e824c525e829d6463dfda824213c2ae (diff) | |
download | FreeBSD-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.4th | 6 |
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 |