[PATCH] readkey: force return from while true

Sascha Hauer s.hauer at pengutronix.de
Tue Nov 22 15:20:02 EST 2011


On Tue, Nov 22, 2011 at 01:32:19PM +0100, Jan Weitzel wrote:
> If read_key is feeded by STRG + KEY_LEFT you run into the while(1)
> loop and corrupt memory through esc array.
> Force return if index gets too high.
>

Wow, a shortcut to crash barebox. Applied to master.

Sascha

> Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
> ---
>  lib/readkey.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/lib/readkey.c b/lib/readkey.c
> index a42d1cb..895db82 100644
> --- a/lib/readkey.c
> +++ b/lib/readkey.c
> @@ -67,6 +67,8 @@ int read_key(void)
>  				esc[i] = getc();
>  				if (esc[i++] == '~')
>  					break;
> +				if (i == 5)
> +					return -1;
>  			}
>  		}
>  		esc[i] = 0;
> -- 
> 1.7.0.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list