]> code.delx.au - gnu-emacs/commitdiff
(search_command): Check LIM in valid range
authorKarl Heuer <kwzh@gnu.org>
Wed, 18 Feb 1998 22:54:43 +0000 (22:54 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 18 Feb 1998 22:54:43 +0000 (22:54 +0000)
before calling CHAR_TO_BYTE.

src/search.c

index d1a57887c252fa0574640320424778f662aba844..a4e17a7eff4a0eb85642e3780c5ff62990346b0d 100644 (file)
@@ -880,13 +880,14 @@ search_command (string, bound, noerror, count, direction, RE, posix)
     {
       CHECK_NUMBER_COERCE_MARKER (bound, 1);
       lim = XINT (bound);
-      lim_byte = CHAR_TO_BYTE (lim);
       if (n > 0 ? lim < PT : lim > PT)
        error ("Invalid search bound (wrong side of point)");
       if (lim > ZV)
        lim = ZV, lim_byte = ZV_BYTE;
-      if (lim < BEGV)
+      else if (lim < BEGV)
        lim = BEGV, lim_byte = BEGV_BYTE;
+      else
+       lim_byte = CHAR_TO_BYTE (lim);
     }
 
   np = search_buffer (string, PT, PT_BYTE, lim, lim_byte, n, RE,