Import less-409.
authorPeter Avalos <pavalos@dragonflybsd.org>
Fri, 12 Oct 2007 20:05:50 +0000 (20:05 +0000)
committerPeter Avalos <pavalos@dragonflybsd.org>
Fri, 12 Oct 2007 20:05:50 +0000 (20:05 +0000)
Fix crash when viewing text with invalid UTF-8 sequences.

contrib/less-4/NEWS
contrib/less-4/charset.c
contrib/less-4/less.nro
contrib/less-4/lessecho.nro
contrib/less-4/lesskey.nro
contrib/less-4/version.c

index f251a1e..0154225 100644 (file)
@@ -13,7 +13,7 @@
 ======================================================================
 
 
-       Major changes between "less" versions 406 and 408
+       Major changes between "less" versions 406 and 409
 
 * Support CSI escape sequences, like SGR escape sequences.
 
@@ -23,6 +23,8 @@
 
 * Fix configure bug on systems which don't support langinfo.h.
 
+* Fix crash when searching text containing certain invalid UTF-8 sequences.
+
 ======================================================================
 
        Major changes between "less" versions 394 and 406
 
 
 
+
index 628218d..37d344d 100755 (executable)
@@ -668,6 +668,7 @@ step_char(pp, dir, limit)
        char *limit;
 {
        LWCHAR ch;
+       int len;
        char *p = *pp;
 
        if (!utf_mode)
@@ -679,14 +680,15 @@ step_char(pp, dir, limit)
                        ch = (LWCHAR) ((p > limit) ? *--p : 0);
        } else if (dir > 0)
        {
-               if (p + utf_len(*p) > limit)
+               len = utf_len(*p);
+               if (p + len > limit)
+               {
                        ch = 0;
-               else
+                       p = limit;
+               } else
                {
                        ch = get_wchar(p);
-                       p++;
-                       while (IS_UTF8_TRAIL(*p))
-                               p++;
+                       p += len;
                }
        } else
        {
index 5399e83..483e194 100644 (file)
@@ -1,4 +1,4 @@
-.TH LESS 1 "Version 408: 01 Oct 2007"
+.TH LESS 1 "Version 409: 12 Oct 2007"
 .SH NAME
 less \- opposite of more
 .SH SYNOPSIS
index 06c3936..d9dd628 100644 (file)
@@ -1,4 +1,4 @@
-.TH LESSECHO 1 "Version 408: 01 Oct 2007"
+.TH LESSECHO 1 "Version 409: 12 Oct 2007"
 .SH NAME
 lessecho \- expand metacharacters
 .SH SYNOPSIS
index a49a1c0..afc3586 100644 (file)
@@ -1,4 +1,4 @@
-.TH LESSKEY 1 "Version 408: 01 Oct 2007"
+.TH LESSKEY 1 "Version 409: 12 Oct 2007"
 .SH NAME
 lesskey \- specify key bindings for less
 .SH SYNOPSIS
index a4d7ea7..1fce12e 100755 (executable)
@@ -695,6 +695,7 @@ v405  6/17/07       Fix display bug when using -w option.
 v406  6/17/07  Fix secure build.
 v407  8/16/07  Fix bugs; support CSI chars.
 v408  10/1/07  Fix bug in -i with non-ASCII chars.
+v409  10/12/07 Fix crash when viewing text with invalid UTF-8 sequences.
 */
 
-char version[] = "408";
+char version[] = "409";