]> git.eshelyaron.com Git - emacs.git/commitdiff
* xdisp.c (display_mode_element): Don't assume strlen fits in int.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 21 Jun 2011 01:30:32 +0000 (18:30 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 21 Jun 2011 01:30:32 +0000 (18:30 -0700)
src/ChangeLog
src/xdisp.c

index bcff6fd083185e2dcf41e9437529041678621481..8c530340927979dca7c98fc76375848eea39377b 100644 (file)
@@ -4,6 +4,7 @@
        not unsigned long, as we prefer signed integers.  All callers changed.
        Detect integer overflow in repeat count.
        (message_dolog): Don't assume print length fits in 39 bytes.
+       (display_mode_element): Don't assume strlen fits in int.
 
        * termcap.c: Don't assume sizes fit in int and never overflow.
        (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes.
index ce60b658a73838a1c02a03024e28914d64fa5d88..ae5c334447d7813136ddf2218c22ebbf125ba20b 100644 (file)
@@ -18730,8 +18730,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
                        break;
                      case MODE_LINE_STRING:
                        {
-                         int len = strlen (spec);
-                         Lisp_Object tem = make_string (spec, len);
+                         Lisp_Object tem = build_string (spec);
                          props = Ftext_properties_at (make_number (charpos), elt);
                          /* Should only keep face property in props */
                          n += store_mode_line_string (NULL, tem, 0, field, prec, props);