From ccc6f6de86145f1a2be7a2c37abffd97f4ebab29 Mon Sep 17 00:00:00 2001 From: tg Date: Sun, 22 Nov 2009 13:49:04 +0000 Subject: [PATCH] prevent buffer underrun reads, ok bsiegert@ --- eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eval.c b/eval.c index a8370b5..ab07181 100644 --- a/eval.c +++ b/eval.c @@ -22,7 +22,7 @@ #include "sh.h" -__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.73 2009/11/21 23:23:17 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.74 2009/11/22 13:49:04 tg Exp $"); /* * string expansion @@ -1173,7 +1173,7 @@ trimsub(char *str, char *pat, int how) goto trimsub_match; if (UTFMODE) { char *op = p; - while ((*--p & 0xC0) == 0x80) + while ((p-- > str) && ((*p & 0xC0) == 0x80)) ; if ((p < str) || (p + utf_ptradj(p) != op)) p = op - 1;