From 404b3f439492fac48207f5a8cb7ecc89f4287100 Mon Sep 17 00:00:00 2001 From: Jaben Carsey Date: Thu, 19 Dec 2013 22:03:37 +0000 Subject: [PATCH] ShellPkg: fix whitespace character trimming This makes TrimSpaces() trim tab characters off the end of the string also (not just the beginning). Also updates loop to prevent buffer underrun. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey Reviewed-by: Erik Bjorge git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15009 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Application/Shell/Shell.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellPkg/Application/Shell/Shell.c b/ShellPkg/Application/Shell/Shell.c index 5e3af1d056..fcf4962e82 100644 --- a/ShellPkg/Application/Shell/Shell.c +++ b/ShellPkg/Application/Shell/Shell.c @@ -91,9 +91,9 @@ TrimSpaces( } // - // Remove any spaces at the end of the (*String). + // Remove any spaces and tabs at the end of the (*String). // - while ((*String)[StrLen((*String))-1] == L' ') { + while ((StrLen (*String) > 0) && (((*String)[StrLen((*String))-1] == L' ') || ((*String)[StrLen((*String))-1] == L'\t'))) { (*String)[StrLen((*String))-1] = CHAR_NULL; }