From ea1401b9a942ce298663fa05bebe13dd1063e272 Mon Sep 17 00:00:00 2001 From: Devin Teske Date: Wed, 8 Apr 2015 19:12:38 +0000 Subject: [PATCH] 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 []) Reported by: lattera MFC after: 3 days X-MFC-to: stable/10 --- sys/boot/forth/version.4th | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/boot/forth/version.4th b/sys/boot/forth/version.4th index a4d4dfb4dfd8..274f05a92ec9 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