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
This commit is contained in:
Devin Teske 2015-04-08 19:12:38 +00:00
parent eade5b3856
commit ea1401b9a9

View File

@ -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