pike.git / src / modules / Image / encodings / xcf.c

version» Context lines:

pike.git/src/modules/Image/encodings/xcf.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: xcf.c,v 1.49 2004/05/19 00:08:02 nilsson Exp $ + || $Id: xcf.c,v 1.50 2004/08/11 08:29:29 per Exp $   */      #include "global.h" - RCSID("$Id: xcf.c,v 1.49 2004/05/19 00:08:02 nilsson Exp $"); + RCSID("$Id: xcf.c,v 1.50 2004/08/11 08:29:29 per Exp $");      #include "image_machine.h"      #include "pike_macros.h"   #include "object.h"   #include "module_support.h"   #include "interpret.h"   #include "object.h"   #include "svalue.h"   #include "threads.h"
pike.git/src/modules/Image/encodings/xcf.c:1236:       if(!tile_ss)    continue;       tile.str = (unsigned char *)(tile_ss->s->str + tile_ss->offset);    tile.len = tile_ss->len;       ewidth = MINIMUM(TILE_WIDTH, (rxs-x));    eheight = MINIMUM(TILE_HEIGHT, (rys-y));    +  if( (double)ewidth * eheight * bpp > INT_MAX ) +  Pike_error("Insanely large tiles not supported\n");    if(rle)    {    struct buffer s = tile, od, d;    int i;    od.len = eheight*ewidth*bpp; /* Max and only size, really */    df = (char *)(od.str = (unsigned char *)xalloc( eheight*ewidth*bpp+1 ));    d = od;       for(i=0; i<bpp; i++)    {