From da398dd788268e57c19358540d45815a56f39091 Mon Sep 17 00:00:00 2001 From: Steve Slaven Date: Tue, 31 Jan 2006 21:50:35 +0000 Subject: Fixes operator . (dot) which didn't check for valid index range. (Elestir) diff --git a/eval.c b/eval.c index 7910442..e349666 100644 --- a/eval.c +++ b/eval.c @@ -881,7 +881,8 @@ static int exe_op __P1 (operator *,op) ptrlen(start) - (ssrc+srclen+1 - ptrdata(start))); break; case (int)point: - dst = ptrmcpy(dst, ssrc+o2.num-1, 1); + j = o2.num <= srclen ? o2.num-1 : srclen; + dst = ptrmcpy(dst, ssrc+j, 1); break; case (int)point_less: j = o2.num < srclen ? o2.num : srclen; -- cgit v0.10.2