1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-19 06:31:34 -08:00

* image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:

Don't assume string length fits in int.
This commit is contained in:
Paul Eggert 2011-06-19 23:03:10 -07:00
parent 9bda3520ff
commit 74ca2eb34b
2 changed files with 6 additions and 13 deletions

View file

@ -1,5 +1,8 @@
2011-06-20 Paul Eggert <eggert@cs.ucla.edu>
* image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
Don't assume string length fits in int.
* gtkutil.c (style_changed_cb): Avoid need for strlen.
* font.c: Don't assume string length fits in int.

View file

@ -3589,25 +3589,14 @@ xpm_load (struct frame *f, struct image *img)
/* XPM support functions for NS where libxpm is not available.
Only XPM version 3 (without any extensions) is supported. */
static int xpm_scan (const unsigned char **, const unsigned char *,
const unsigned char **, int *);
static Lisp_Object xpm_make_color_table_v
(void (**) (Lisp_Object, const unsigned char *, int, Lisp_Object),
Lisp_Object (**) (Lisp_Object, const unsigned char *, int));
static void xpm_put_color_table_v (Lisp_Object, const unsigned char *,
int, Lisp_Object);
static Lisp_Object xpm_get_color_table_v (Lisp_Object,
const unsigned char *, int);
static Lisp_Object xpm_make_color_table_h
(void (**) (Lisp_Object, const unsigned char *, int, Lisp_Object),
Lisp_Object (**) (Lisp_Object, const unsigned char *, int));
static void xpm_put_color_table_h (Lisp_Object, const unsigned char *,
int, Lisp_Object);
static Lisp_Object xpm_get_color_table_h (Lisp_Object,
const unsigned char *, int);
static int xpm_str_to_color_key (const char *);
static int xpm_load_image (struct frame *, struct image *,
const unsigned char *, const unsigned char *);
/* Tokens returned from xpm_scan. */
@ -3629,7 +3618,7 @@ static int
xpm_scan (const unsigned char **s,
const unsigned char *end,
const unsigned char **beg,
int *len)
ptrdiff_t *len)
{
int c;
@ -3799,7 +3788,8 @@ xpm_load_image (struct frame *f,
unsigned char buffer[BUFSIZ];
int width, height, x, y;
int num_colors, chars_per_pixel;
int len, LA1;
ptrdiff_t len;
int LA1;
void (*put_color_table) (Lisp_Object, const unsigned char *, int, Lisp_Object);
Lisp_Object (*get_color_table) (Lisp_Object, const unsigned char *, int);
Lisp_Object frame, color_symbols, color_table;