Resolves: #2130384 - new upstream release 11.00.00
This commit is contained in:
		
							parent
							
								
									8784b08765
								
							
						
					
					
						commit
						7d1f2ca58a
					
				| @ -227,9 +227,31 @@ diff -ruNp a/converter/pbm/mgrtopbm.c b/converter/pbm/mgrtopbm.c | |||||||
|      *padrightP = ((*colsP + pad - 1) / pad) * pad - *colsP; |      *padrightP = ((*colsP + pad - 1) / pad) * pad - *colsP; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| diff -ruNp a/converter/pbm/pbmtogem.c b/converter/pbm/pbmtogem.c
 | diff --git a/converter/pbm/pbmto4425.c b/converter/pbm/pbmto4425.c
 | ||||||
| --- a/converter/pbm/pbmtogem.c	2021-06-02 15:53:59.828205592 +0200
 | index 1d97ac6..c4c8cbb 100644
 | ||||||
| +++ b/converter/pbm/pbmtogem.c	2021-06-02 20:23:21.809634256 +0200
 | --- a/converter/pbm/pbmto4425.c
 | ||||||
|  | +++ b/converter/pbm/pbmto4425.c
 | ||||||
|  | @@ -2,6 +2,7 @@
 | ||||||
|  |   | ||||||
|  |  #include "nstring.h" | ||||||
|  |  #include "pbm.h" | ||||||
|  | +#include <string.h>
 | ||||||
|  |   | ||||||
|  |  static char bit_table[2][3] = { | ||||||
|  |  {1, 4, 0x10}, | ||||||
|  | @@ -160,7 +161,7 @@ main(int argc, char * argv[]) {
 | ||||||
|  |      xres = vmap_width * 2; | ||||||
|  |      yres = vmap_height * 3; | ||||||
|  |   | ||||||
|  | -    vmap = malloc(vmap_width * vmap_height * sizeof(char));
 | ||||||
|  | +    vmap = malloc3(vmap_width, vmap_height, sizeof(char));
 | ||||||
|  |      if(vmap == NULL) | ||||||
|  |  	{ | ||||||
|  |          pm_error( "Cannot allocate memory" ); | ||||||
|  | diff --git a/converter/pbm/pbmtogem.c b/converter/pbm/pbmtogem.c
 | ||||||
|  | index 4fd30e9..c82757d 100644
 | ||||||
|  | --- a/converter/pbm/pbmtogem.c
 | ||||||
|  | +++ b/converter/pbm/pbmtogem.c
 | ||||||
| @@ -79,6 +79,7 @@ putinit (int const rows, int const cols)
 | @@ -79,6 +79,7 @@ putinit (int const rows, int const cols)
 | ||||||
|    bitsperitem = 0; |    bitsperitem = 0; | ||||||
|    bitshift = 7; |    bitshift = 7; | ||||||
| @ -351,35 +373,18 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| -    }
 | -    }
 | ||||||
| -    return retval;
 | -    return retval;
 | ||||||
| -}
 | -}
 | ||||||
| -
 |  | ||||||
| +int make_pbm_stat(pbm_stat* pbm,FILE* fptr)
 | +int make_pbm_stat(pbm_stat* pbm,FILE* fptr)
 | ||||||
| +{
 | +{
 | ||||||
| +  char line[1024];
 | +  char line[1024];
 | ||||||
| +
 |   | ||||||
| +  pbm->fptr=fptr;
 | +  pbm->fptr=fptr;
 | ||||||
| +  pbm->version=none;
 | +  pbm->version=none;
 | ||||||
| +  pbm->current_line=0;
 | +  pbm->current_line=0;
 | ||||||
| +  pbm->unread = 0;
 | +  pbm->unread = 0;
 | ||||||
| +
 |   | ||||||
| +  if (fgets (line, 1024, fptr) == NULL)
 | +  if (fgets (line, 1024, fptr) == NULL)
 | ||||||
| +    return 0;
 | +    return 0;
 | ||||||
| +  line[strlen(line)-1] = 0;
 | +  line[strlen(line)-1] = 0;
 | ||||||
| +
 |  | ||||||
| +  if(!strcmp(line,"P1")) pbm->version=P1;
 |  | ||||||
| +  if(!strcmp(line,"P4")) pbm->version=P4;
 |  | ||||||
| +  if(pbm->version == none)
 |  | ||||||
| +  {
 |  | ||||||
| +    fprintf(stderr,"pbm_readheader(): unknown PBM magic '%s'\n",line);
 |  | ||||||
| +    return 0;
 |  | ||||||
| +  }
 |  | ||||||
| +
 |  | ||||||
| +  do
 |  | ||||||
| +    if (fgets (line, 1024, fptr) == NULL)
 |  | ||||||
| +      return 0;
 |  | ||||||
| +  while (line[0] == '#');
 |  | ||||||
|   |  | ||||||
| +  if (2 != sscanf (line, "%d %d", &pbm->width, &pbm->height))
 |  | ||||||
| +    return 0;
 |  | ||||||
|   |   | ||||||
| -static int
 | -static int
 | ||||||
| -getbytes(FILE *          const ifP,
 | -getbytes(FILE *          const ifP,
 | ||||||
| @ -418,11 +423,23 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| -        retval = 1;
 | -        retval = 1;
 | ||||||
| -    }
 | -    }
 | ||||||
| -    return retval;
 | -    return retval;
 | ||||||
| +  return 1;
 | -}
 | ||||||
|  } | +  if(!strcmp(line,"P1")) pbm->version=P1;
 | ||||||
|  | +  if(!strcmp(line,"P4")) pbm->version=P4;
 | ||||||
|  | +  if(pbm->version == none)
 | ||||||
|  | +  {
 | ||||||
|  | +    fprintf(stderr,"pbm_readheader(): unknown PBM magic '%s'\n",line);
 | ||||||
|  | +    return 0;
 | ||||||
|  | +  }
 | ||||||
|  |   | ||||||
|  | +  do
 | ||||||
|  | +    if (fgets (line, 1024, fptr) == NULL)
 | ||||||
|  | +      return 0;
 | ||||||
|  | +  while (line[0] == '#');
 | ||||||
|  |   | ||||||
|  | +  if (2 != sscanf (line, "%d %d", &pbm->width, &pbm->height))
 | ||||||
|  | +    return 0;
 | ||||||
|   |   | ||||||
| -
 |  | ||||||
| -
 |  | ||||||
| -int
 | -int
 | ||||||
| -pbm_readline(pbm_stat *      const pbmStatP,
 | -pbm_readline(pbm_stat *      const pbmStatP,
 | ||||||
| -             unsigned char * const data) {
 | -             unsigned char * const data) {
 | ||||||
| @ -469,6 +486,11 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| -                retval = 0;
 | -                retval = 0;
 | ||||||
| -            }
 | -            }
 | ||||||
| -        }
 | -        }
 | ||||||
|  | -    }
 | ||||||
|  | -    return retval;
 | ||||||
|  | +  return 1;
 | ||||||
|  |  } | ||||||
|  |   | ||||||
| +static int getbytes(FILE *fptr,int width,unsigned char* data)
 | +static int getbytes(FILE *fptr,int width,unsigned char* data)
 | ||||||
| +{
 | +{
 | ||||||
| +  unsigned char mask,acc,*place;
 | +  unsigned char mask,acc,*place;
 | ||||||
| @ -493,13 +515,12 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| +	acc=0;
 | +	acc=0;
 | ||||||
| +	mask=0x80;
 | +	mask=0x80;
 | ||||||
| +      }
 | +      }
 | ||||||
|      } | +    }
 | ||||||
| -    return retval;
 |  | ||||||
| +  }
 | +  }
 | ||||||
| +  if(width%8)
 | +  if(width%8)
 | ||||||
| +    *place=acc;
 | +    *place=acc;
 | ||||||
| +  return 1;
 | +  return 1;
 | ||||||
|  } | +}
 | ||||||
|   |   | ||||||
| +/* Reads a single line into data which must be at least (pbm->width+7)/8
 | +/* Reads a single line into data which must be at least (pbm->width+7)/8
 | ||||||
| +   bytes of storage */
 | +   bytes of storage */
 | ||||||
| @ -519,16 +540,6 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| +      return 1;
 | +      return 1;
 | ||||||
| +    }
 | +    }
 | ||||||
|   |   | ||||||
| +  switch(pbm->version)
 |  | ||||||
| +  {
 |  | ||||||
| +  case P1:
 |  | ||||||
| +    if(getbytes(pbm->fptr,pbm->width,data))
 |  | ||||||
| +    {
 |  | ||||||
| +      pbm->current_line++;
 |  | ||||||
| +      return 1;
 |  | ||||||
| +    }
 |  | ||||||
| +    return 0;
 |  | ||||||
|   |  | ||||||
| -void
 | -void
 | ||||||
| -pbm_unreadline(pbm_stat * const pbmStatP,
 | -pbm_unreadline(pbm_stat * const pbmStatP,
 | ||||||
| -               void *     const data) {
 | -               void *     const data) {
 | ||||||
| @ -542,6 +553,17 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| -        pbmStatP->revdata = malloc ((pbmStatP->width+7)/8);
 | -        pbmStatP->revdata = malloc ((pbmStatP->width+7)/8);
 | ||||||
| -        memcpy(pbmStatP->revdata, data, (pbmStatP->width+7)/8);
 | -        memcpy(pbmStatP->revdata, data, (pbmStatP->width+7)/8);
 | ||||||
| -        --pbmStatP->current_line;
 | -        --pbmStatP->current_line;
 | ||||||
|  | +  switch(pbm->version)
 | ||||||
|  | +  {
 | ||||||
|  | +  case P1:
 | ||||||
|  | +    if(getbytes(pbm->fptr,pbm->width,data))
 | ||||||
|  | +    {
 | ||||||
|  | +      pbm->current_line++;
 | ||||||
|  | +      return 1;
 | ||||||
|  |      } | ||||||
|  | -}
 | ||||||
|  | +    return 0;
 | ||||||
|  | +
 | ||||||
| +  case P4:
 | +  case P4:
 | ||||||
| +    overflow_add(pbm->width, 7);
 | +    overflow_add(pbm->width, 7);
 | ||||||
| +    tmp=(pbm->width+7)/8;
 | +    tmp=(pbm->width+7)/8;
 | ||||||
| @ -550,8 +572,7 @@ diff -ruNp a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c | |||||||
| +    {
 | +    {
 | ||||||
| +      pbm->current_line++;
 | +      pbm->current_line++;
 | ||||||
| +      return 1;
 | +      return 1;
 | ||||||
|      } | +    }
 | ||||||
| -}
 |  | ||||||
| +    fprintf(stderr,"pbm_readline(): error reading line data (%d)\n",tmp2);
 | +    fprintf(stderr,"pbm_readline(): error reading line data (%d)\n",tmp2);
 | ||||||
| +    return 0;
 | +    return 0;
 | ||||||
|   |   | ||||||
| @ -597,29 +618,10 @@ diff -ruNp a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c | |||||||
|   |   | ||||||
|      putinit(xbmVersion); |      putinit(xbmVersion); | ||||||
|   |   | ||||||
| diff -ruNp a/converter/pbm/pbmto4425.c b/converter/pbm/pbmto4425.c
 | diff --git a/converter/pbm/pktopbm.c b/converter/pbm/pktopbm.c
 | ||||||
| --- a/converter/pbm/pbmto4425.c	2021-06-02 15:53:59.827205582 +0200
 | index 712f339..b6fcb02 100644
 | ||||||
| +++ b/converter/pbm/pbmto4425.c	2021-06-02 20:23:21.808634248 +0200
 | --- a/converter/pbm/pktopbm.c
 | ||||||
| @@ -2,6 +2,7 @@
 | +++ b/converter/pbm/pktopbm.c
 | ||||||
|   |  | ||||||
|  #include "nstring.h" |  | ||||||
|  #include "pbm.h" |  | ||||||
| +#include <string.h>
 |  | ||||||
|   |  | ||||||
|  static char bit_table[2][3] = { |  | ||||||
|  {1, 4, 0x10}, |  | ||||||
| @@ -160,7 +161,7 @@ main(int argc, char * argv[]) {
 |  | ||||||
|      xres = vmap_width * 2; |  | ||||||
|      yres = vmap_height * 3; |  | ||||||
|   |  | ||||||
| -    vmap = malloc(vmap_width * vmap_height * sizeof(char));
 |  | ||||||
| +    vmap = malloc3(vmap_width, vmap_height, sizeof(char));
 |  | ||||||
|      if(vmap == NULL) |  | ||||||
|  	{ |  | ||||||
|          pm_error( "Cannot allocate memory" ); |  | ||||||
| diff -ruNp a/converter/pbm/pktopbm.c b/converter/pbm/pktopbm.c
 |  | ||||||
| --- a/converter/pbm/pktopbm.c	2021-06-02 15:53:59.828205592 +0200
 |  | ||||||
| +++ b/converter/pbm/pktopbm.c	2021-06-02 20:23:21.813634291 +0200
 |  | ||||||
| @@ -280,6 +280,7 @@ main(int argc, char *argv[]) {
 | @@ -280,6 +280,7 @@ main(int argc, char *argv[]) {
 | ||||||
|          if (flagbyte == 7) {            /* long form preamble */ |          if (flagbyte == 7) {            /* long form preamble */ | ||||||
|              integer packetlength = get32() ;    /* character packet length */ |              integer packetlength = get32() ;    /* character packet length */ | ||||||
| @ -694,9 +696,23 @@ diff -ruNp a/converter/pgm/psidtopgm.c b/converter/pgm/psidtopgm.c | |||||||
|      grayrow = pgm_allocrow((cols + 7) / 8 * 8); |      grayrow = pgm_allocrow((cols + 7) / 8 * 8); | ||||||
|      for (row = 0; row < rows; ++row) { |      for (row = 0; row < rows; ++row) { | ||||||
|          unsigned int col; |          unsigned int col; | ||||||
| diff -ruNp a/converter/ppm/ilbmtoppm.c b/converter/ppm/ilbmtoppm.c
 | diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile
 | ||||||
| --- a/converter/ppm/ilbmtoppm.c	2021-06-02 15:53:59.846205765 +0200
 | index 003ef8d..b97349d 100644
 | ||||||
| +++ b/converter/ppm/ilbmtoppm.c	2021-06-02 20:23:21.817634326 +0200
 | --- a/converter/ppm/Makefile
 | ||||||
|  | +++ b/converter/ppm/Makefile
 | ||||||
|  | @@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg
 | ||||||
|  |   | ||||||
|  |  PORTBINARIES =	411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \ | ||||||
|  |  		leaftoppm mtvtoppm neotoppm \ | ||||||
|  | -		pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \
 | ||||||
|  | +		pcxtoppm pc1toppm pi1toppm pjtoppm \
 | ||||||
|  |  		ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \ | ||||||
|  |  		ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ | ||||||
|  |  		ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ | ||||||
|  | diff --git a/converter/ppm/ilbmtoppm.c b/converter/ppm/ilbmtoppm.c
 | ||||||
|  | index b9b8986..f4fe331 100644
 | ||||||
|  | --- a/converter/ppm/ilbmtoppm.c
 | ||||||
|  | +++ b/converter/ppm/ilbmtoppm.c
 | ||||||
| @@ -608,6 +608,7 @@ decode_row(FILE *          const ifP,
 | @@ -608,6 +608,7 @@ decode_row(FILE *          const ifP,
 | ||||||
|      rawtype *chp; |      rawtype *chp; | ||||||
|   |   | ||||||
| @ -786,22 +802,11 @@ diff -ruNp a/converter/ppm/imgtoppm.c b/converter/ppm/imgtoppm.c | |||||||
|              if ( len != cols * rows ) |              if ( len != cols * rows ) | ||||||
|                  pm_message( |                  pm_message( | ||||||
|                      "pixel data length (%d) does not match image size (%d)", |                      "pixel data length (%d) does not match image size (%d)", | ||||||
| diff -ruNp a/converter/ppm/Makefile b/converter/ppm/Makefile
 | diff --git a/converter/ppm/pcxtoppm.c b/converter/ppm/pcxtoppm.c
 | ||||||
| --- a/converter/ppm/Makefile	2021-06-02 15:53:59.846205765 +0200
 | index e252ba2..270ae3b 100644
 | ||||||
| +++ b/converter/ppm/Makefile	2021-06-02 20:23:21.815634309 +0200
 | --- a/converter/ppm/pcxtoppm.c
 | ||||||
| @@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg
 | +++ b/converter/ppm/pcxtoppm.c
 | ||||||
|   | @@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes, bytesperline, planes, bitsperpixel)
 | ||||||
|  PORTBINARIES =	411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \ |  | ||||||
|  		leaftoppm mtvtoppm neotoppm \ |  | ||||||
| -		pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \
 |  | ||||||
| +		pcxtoppm pc1toppm pi1toppm pjtoppm \
 |  | ||||||
|  		ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \ |  | ||||||
|  		ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ |  | ||||||
|  		ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ |  | ||||||
| diff -ruNp a/converter/ppm/pcxtoppm.c b/converter/ppm/pcxtoppm.c
 |  | ||||||
| --- a/converter/ppm/pcxtoppm.c	2021-06-02 15:53:59.846205765 +0200
 |  | ||||||
| +++ b/converter/ppm/pcxtoppm.c	2021-06-02 20:23:21.818634335 +0200
 |  | ||||||
| @@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes,
 |  | ||||||
|      /* |      /* | ||||||
|       * clear the pixel buffer |       * clear the pixel buffer | ||||||
|       */ |       */ | ||||||
| @ -1428,6 +1433,9 @@ diff -ruNp a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c | |||||||
| -    putword(yPos, ofP);             /* y1   - image top             */
 | -    putword(yPos, ofP);             /* y1   - image top             */
 | ||||||
| -    putword(xPos+cols-1, ofP);      /* x2   - image right           */
 | -    putword(xPos+cols-1, ofP);      /* x2   - image right           */
 | ||||||
| -    putword(yPos+rows-1, ofP);      /* y2   - image bottom          */
 | -    putword(yPos+rows-1, ofP);      /* y2   - image bottom          */
 | ||||||
|  | -
 | ||||||
|  | -    putword(cols, ofP);             /* horizontal resolution        */
 | ||||||
|  | -    putword(rows, ofP);             /* vertical resolution          */
 | ||||||
| +write_header(FILE *              const fp,
 | +write_header(FILE *              const fp,
 | ||||||
| +             int                 const cols,
 | +             int                 const cols,
 | ||||||
| +             int                 const rows,
 | +             int                 const rows,
 | ||||||
| @ -1448,9 +1456,7 @@ diff -ruNp a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c | |||||||
| +    Putword(yPos, fp);             /* y1   - image top             */
 | +    Putword(yPos, fp);             /* y1   - image top             */
 | ||||||
| +    Putword(xPos+cols-1, fp);      /* x2   - image right           */
 | +    Putword(xPos+cols-1, fp);      /* x2   - image right           */
 | ||||||
| +    Putword(yPos+rows-1, fp);      /* y2   - image bottom          */
 | +    Putword(yPos+rows-1, fp);      /* y2   - image bottom          */
 | ||||||
|   | +
 | ||||||
| -    putword(cols, ofP);             /* horizontal resolution        */
 |  | ||||||
| -    putword(rows, ofP);             /* vertical resolution          */
 |  | ||||||
| +    Putword(cols, fp);             /* horizontal resolution        */
 | +    Putword(cols, fp);             /* horizontal resolution        */
 | ||||||
| +    Putword(rows, fp);             /* vertical resolution          */
 | +    Putword(rows, fp);             /* vertical resolution          */
 | ||||||
|   |   | ||||||
| @ -1635,10 +1641,11 @@ diff -ruNp a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c | |||||||
|              } |              } | ||||||
|          } |          } | ||||||
|      } |      } | ||||||
| @@ -440,142 +453,83 @@ writeRaster16Color(FILE * const ofP,
 | @@ -439,143 +452,84 @@ writeRaster16Color(FILE * const ofP,
 | ||||||
|   |   | ||||||
|   |   | ||||||
|  static void |   | ||||||
|  | -static void
 | ||||||
| -ppmTo16ColorPcx(pixel **            const pixels,
 | -ppmTo16ColorPcx(pixel **            const pixels,
 | ||||||
| -                unsigned int        const cols,
 | -                unsigned int        const cols,
 | ||||||
| -                unsigned int        const rows,
 | -                unsigned int        const rows,
 | ||||||
| @ -1679,7 +1686,7 @@ diff -ruNp a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c | |||||||
| -
 | -
 | ||||||
| -
 | -
 | ||||||
| -
 | -
 | ||||||
| -static void
 |  static void | ||||||
|  ppmTo256ColorPcx(pixel **            const pixels, |  ppmTo256ColorPcx(pixel **            const pixels, | ||||||
| -                 unsigned int        const cols,
 | -                 unsigned int        const cols,
 | ||||||
| -                 unsigned int        const rows,
 | -                 unsigned int        const rows,
 | ||||||
| @ -1753,13 +1760,13 @@ diff -ruNp a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c | |||||||
| -    unsigned char * grnrow;
 | -    unsigned char * grnrow;
 | ||||||
| -    unsigned char * blurow;
 | -    unsigned char * blurow;
 | ||||||
| -    unsigned int    row;
 | -    unsigned int    row;
 | ||||||
| -
 |  | ||||||
| -    MALLOCARRAY(redrow, cols);
 |  | ||||||
| -    MALLOCARRAY(grnrow, cols);
 |  | ||||||
| -    MALLOCARRAY(blurow, cols);
 |  | ||||||
| +    unsigned char *redrow, *greenrow, *bluerow;
 | +    unsigned char *redrow, *greenrow, *bluerow;
 | ||||||
| +    int col, row;
 | +    int col, row;
 | ||||||
|   |   | ||||||
|  | -    MALLOCARRAY(redrow, cols);
 | ||||||
|  | -    MALLOCARRAY(grnrow, cols);
 | ||||||
|  | -    MALLOCARRAY(blurow, cols);
 | ||||||
|  | -
 | ||||||
| -    if (!redrow || !grnrow || !blurow)
 | -    if (!redrow || !grnrow || !blurow)
 | ||||||
| -        pm_error("Unable to allocate buffer for a row of %u pixels", cols);
 | -        pm_error("Unable to allocate buffer for a row of %u pixels", cols);
 | ||||||
| +    redrow   = (unsigned char *)pm_allocrow(cols, sizeof(unsigned char));
 | +    redrow   = (unsigned char *)pm_allocrow(cols, sizeof(unsigned char));
 | ||||||
| @ -2623,20 +2630,10 @@ diff -ruNp a/editor/pnmhisteq.c b/editor/pnmhisteq.c | |||||||
|      MALLOCARRAY(lumahist, maxval + 1); |      MALLOCARRAY(lumahist, maxval + 1); | ||||||
|      if (lumahist == NULL) |      if (lumahist == NULL) | ||||||
|          pm_error("Out of storage allocating array for %u histogram elements", |          pm_error("Out of storage allocating array for %u histogram elements", | ||||||
| diff -ruNp a/editor/pnmindex.csh b/editor/pnmindex.csh
 | diff --git a/editor/pnmpad.c b/editor/pnmpad.c
 | ||||||
| --- a/editor/pnmindex.csh	2021-06-02 15:53:59.801205332 +0200
 | index 9fa9f9e..6b98204 100644
 | ||||||
| +++ b/editor/pnmindex.csh	2021-06-02 20:23:21.829634431 +0200
 | --- a/editor/pnmpad.c
 | ||||||
| @@ -1,5 +1,7 @@
 | +++ b/editor/pnmpad.c
 | ||||||
|  #!/bin/csh -f |  | ||||||
|  # |  | ||||||
| +echo "Unsafe code, needs debugging, do not ship"
 |  | ||||||
| +exit 1
 |  | ||||||
|  # pnmindex - build a visual index of a bunch of anymaps |  | ||||||
|  # |  | ||||||
|  # Copyright (C) 1991 by Jef Poskanzer. |  | ||||||
| diff -ruNp a/editor/pnmpad.c b/editor/pnmpad.c
 |  | ||||||
| --- a/editor/pnmpad.c	2021-06-02 15:53:59.808205400 +0200
 |  | ||||||
| +++ b/editor/pnmpad.c	2021-06-02 20:23:21.829634431 +0200
 |  | ||||||
| @@ -654,6 +654,8 @@ main(int argc, const char ** argv) {
 | @@ -654,6 +654,8 @@ main(int argc, const char ** argv) {
 | ||||||
|   |   | ||||||
|      computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad); |      computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad); | ||||||
| @ -2830,21 +2827,32 @@ diff -ruNp a/other/pnmcolormap.c b/other/pnmcolormap.c | |||||||
|      } |      } | ||||||
|      { |      { | ||||||
|          unsigned int const intQuotient = colormap.size / pamP->width; |          unsigned int const intQuotient = colormap.size / pamP->width; | ||||||
| diff -ruNp a/urt/rle_getrow.c b/urt/rle_getrow.c
 | diff --git a/urt/Runput.c b/urt/Runput.c
 | ||||||
| --- a/urt/rle_getrow.c	2021-06-02 15:53:59.825205563 +0200
 | index 1a7f2f7..de2737b 100644
 | ||||||
| +++ b/urt/rle_getrow.c	2021-06-02 20:23:21.834634475 +0200
 | --- a/urt/Runput.c
 | ||||||
| @@ -164,6 +164,7 @@ rle_get_setup(rle_hdr * const the_hdr) {
 | +++ b/urt/Runput.c
 | ||||||
|          char * cp; | @@ -202,6 +202,7 @@ RunSetup(rle_hdr * the_hdr)
 | ||||||
|   |      if ( the_hdr->background != 0 ) | ||||||
|          VAXSHORT(comlen, infile); /* get comment length */ |      { | ||||||
| +        overflow_add(comlen, 1);
 |          int i; | ||||||
|          evenlen = (comlen + 1) & ~1;    /* make it even */ | +        overflow_add(the_hdr->ncolors, 1);
 | ||||||
|          if (evenlen) { |          rle_pixel *background = | ||||||
|              MALLOCARRAY(comment_buf, evenlen); |              (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); | ||||||
| diff -ruNp a/urt/rle.h b/urt/rle.h
 |          int *bg_color; | ||||||
| --- a/urt/rle.h	2021-06-02 15:53:59.825205563 +0200
 | @@ -224,7 +225,7 @@ RunSetup(rle_hdr * the_hdr)
 | ||||||
| +++ b/urt/rle.h	2021-06-02 20:23:21.834634475 +0200
 |          /* Big-endian machines are harder */ | ||||||
| @@ -153,6 +153,17 @@ rle_hdr             /* End of typedef. *
 |          int i, nmap = (1 << the_hdr->cmaplen) * | ||||||
|  |                                 the_hdr->ncmap; | ||||||
|  | -        char *h_cmap = (char *)malloc( nmap * 2 );
 | ||||||
|  | +        char *h_cmap = (char *)malloc2( nmap, 2 );
 | ||||||
|  |          if ( h_cmap == NULL ) | ||||||
|  |          { | ||||||
|  |              fprintf( stderr, | ||||||
|  | diff --git a/urt/rle.h b/urt/rle.h
 | ||||||
|  | index 1e7ddd0..df45dd9 100644
 | ||||||
|  | --- a/urt/rle.h
 | ||||||
|  | +++ b/urt/rle.h
 | ||||||
|  | @@ -152,6 +152,17 @@ rle_hdr             /* End of typedef. */
 | ||||||
|   */ |   */ | ||||||
|  extern rle_hdr rle_dflt_hdr; |  extern rle_hdr rle_dflt_hdr; | ||||||
|   |   | ||||||
| @ -2862,9 +2870,59 @@ diff -ruNp a/urt/rle.h b/urt/rle.h | |||||||
|   |   | ||||||
|  /* Declare RLE library routines. */ |  /* Declare RLE library routines. */ | ||||||
|   |   | ||||||
| diff -ruNp a/urt/rle_hdr.c b/urt/rle_hdr.c
 | diff --git a/urt/rle_addhist.c b/urt/rle_addhist.c
 | ||||||
| --- a/urt/rle_hdr.c	2021-06-02 15:53:59.825205563 +0200
 | index 45c3dbf..ef13973 100644
 | ||||||
| +++ b/urt/rle_hdr.c	2021-06-02 20:23:21.835634483 +0200
 | --- a/urt/rle_addhist.c
 | ||||||
|  | +++ b/urt/rle_addhist.c
 | ||||||
|  | @@ -70,13 +70,19 @@ rle_addhist(char *          argv[],
 | ||||||
|  |          return; | ||||||
|  |   | ||||||
|  |      length = 0; | ||||||
|  | -    for (i = 0; argv[i]; ++i)
 | ||||||
|  | +    for (i = 0; argv[i]; ++i) {
 | ||||||
|  | +        overflow_add(length, strlen(argv[i]));
 | ||||||
|  | +        overflow_add(length+1, strlen(argv[i]));
 | ||||||
|  |          length += strlen(argv[i]) +1;   /* length of each arg plus space. */ | ||||||
|  | +    }
 | ||||||
|  |   | ||||||
|  |      time(&temp); | ||||||
|  |      timedate = ctime(&temp); | ||||||
|  |      length += strlen(timedate);        /* length of date and time in ASCII. */ | ||||||
|  |   | ||||||
|  | +    overflow_add(strlen(padding), 4);
 | ||||||
|  | +    overflow_add(strlen(histoire), strlen(padding) + 4);
 | ||||||
|  | +    overflow_add(length, strlen(histoire) + strlen(padding) + 4);
 | ||||||
|  |      length += strlen(padding) + 3 + strlen(histoire) + 1; | ||||||
|  |          /* length of padding, "on "  and length of history name plus "="*/ | ||||||
|  |      if (in_hdr) /* if we are interested in the old comments... */ | ||||||
|  | @@ -84,8 +90,10 @@ rle_addhist(char *          argv[],
 | ||||||
|  |      else | ||||||
|  |          old = NULL; | ||||||
|  |   | ||||||
|  | -    if (old && *old)
 | ||||||
|  | +    if (old && *old) {
 | ||||||
|  | +        overflow_add(length, strlen(old));
 | ||||||
|  |          length += strlen(old);       /* add length if there. */ | ||||||
|  | +    }
 | ||||||
|  |   | ||||||
|  |      ++length;                               /*Cater for the null. */ | ||||||
|  |   | ||||||
|  | diff --git a/urt/rle_getrow.c b/urt/rle_getrow.c
 | ||||||
|  | index a24870a..0ba62c3 100644
 | ||||||
|  | --- a/urt/rle_getrow.c
 | ||||||
|  | +++ b/urt/rle_getrow.c
 | ||||||
|  | @@ -164,6 +164,7 @@ rle_get_setup(rle_hdr * const the_hdr) {
 | ||||||
|  |          char * cp; | ||||||
|  |   | ||||||
|  |          VAXSHORT(comlen, infile); /* get comment length */ | ||||||
|  | +        overflow_add(comlen, 1);
 | ||||||
|  |          evenlen = (comlen + 1) & ~1;    /* make it even */ | ||||||
|  |          if (evenlen) { | ||||||
|  |              MALLOCARRAY(comment_buf, evenlen); | ||||||
|  | diff --git a/urt/rle_hdr.c b/urt/rle_hdr.c
 | ||||||
|  | index 8ceaa9e..4c13037 100644
 | ||||||
|  | --- a/urt/rle_hdr.c
 | ||||||
|  | +++ b/urt/rle_hdr.c
 | ||||||
| @@ -148,7 +148,7 @@ rle_hdr_cp(rle_hdr * const fromHdrP,
 | @@ -148,7 +148,7 @@ rle_hdr_cp(rle_hdr * const fromHdrP,
 | ||||||
|      if (toHdrP->cmap) { |      if (toHdrP->cmap) { | ||||||
|          size_t const size = |          size_t const size = | ||||||
| @ -2910,59 +2968,3 @@ diff -ruNp a/urt/rle_putcom.c b/urt/rle_putcom.c | |||||||
|          /* Not found */ |          /* Not found */ | ||||||
|          /* Can't realloc because somebody else might be pointing to this |          /* Can't realloc because somebody else might be pointing to this | ||||||
|           * comments block.  Of course, if this were true, then the |           * comments block.  Of course, if this were true, then the | ||||||
| diff -urNp a/urt/rle_addhist.c b/urt/rle_addhist.c
 |  | ||||||
| --- a/urt/rle_addhist.c	2022-06-28 08:11:09.204119859 +0200
 |  | ||||||
| +++ b/urt/rle_addhist.c	2022-06-29 09:20:31.573600515 +0200
 |  | ||||||
| @@ -70,13 +70,19 @@ rle_addhist(char *          argv[],
 |  | ||||||
|          return; |  | ||||||
|   |  | ||||||
|      length = 0; |  | ||||||
| -    for (i = 0; argv[i]; ++i)
 |  | ||||||
| +    for (i = 0; argv[i]; ++i) {
 |  | ||||||
| +        overflow_add(length, strlen(argv[i]));
 |  | ||||||
| +        overflow_add(length+1, strlen(argv[i]));
 |  | ||||||
|          length += strlen(argv[i]) +1;   /* length of each arg plus space. */ |  | ||||||
| +    }
 |  | ||||||
|   |  | ||||||
|      time(&temp); |  | ||||||
|      timedate = ctime(&temp); |  | ||||||
|      length += strlen(timedate);        /* length of date and time in ASCII. */ |  | ||||||
|   |  | ||||||
| +    overflow_add(strlen(padding), 4);
 |  | ||||||
| +    overflow_add(strlen(histoire), strlen(padding) + 4);
 |  | ||||||
| +    overflow_add(length, strlen(histoire) + strlen(padding) + 4);
 |  | ||||||
|      length += strlen(padding) + 3 + strlen(histoire) + 1; |  | ||||||
|          /* length of padding, "on "  and length of history name plus "="*/ |  | ||||||
|      if (in_hdr) /* if we are interested in the old comments... */ |  | ||||||
| @@ -84,8 +90,10 @@ rle_addhist(char *          argv[],
 |  | ||||||
|      else |  | ||||||
|          old = NULL; |  | ||||||
|   |  | ||||||
| -    if (old && *old)
 |  | ||||||
| +    if (old && *old) {
 |  | ||||||
| +        overflow_add(length, strlen(old));
 |  | ||||||
|          length += strlen(old);       /* add length if there. */ |  | ||||||
| +    }
 |  | ||||||
|   |  | ||||||
|      ++length;                               /*Cater for the null. */ |  | ||||||
|   |  | ||||||
| diff -urNp a/urt/Runput.c b/urt/Runput.c
 |  | ||||||
| --- a/urt/Runput.c	2022-06-28 08:11:09.204119859 +0200
 |  | ||||||
| +++ b/urt/Runput.c	2022-06-29 09:28:03.951620062 +0200
 |  | ||||||
| @@ -202,6 +202,7 @@ RunSetup(rle_hdr * the_hdr)
 |  | ||||||
|      if ( the_hdr->background != 0 ) |  | ||||||
|      { |  | ||||||
|          int i; |  | ||||||
| +        overflow_add(the_hdr->ncolors, 1);
 |  | ||||||
|          rle_pixel *background = |  | ||||||
|              (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); |  | ||||||
|          int *bg_color; |  | ||||||
| @@ -224,7 +225,7 @@ RunSetup(rle_hdr * the_hdr)
 |  | ||||||
|          /* Big-endian machines are harder */ |  | ||||||
|          int i, nmap = (1 << the_hdr->cmaplen) * |  | ||||||
|                                 the_hdr->ncmap; |  | ||||||
| -        char *h_cmap = (char *)malloc( nmap * 2 );
 |  | ||||||
| +        char *h_cmap = (char *)malloc2( nmap, 2 );
 |  | ||||||
|          if ( h_cmap == NULL ) |  | ||||||
|          { |  | ||||||
|              fprintf( stderr, |  | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| Summary:         A library for handling different graphics file formats | Summary:         A library for handling different graphics file formats | ||||||
| Name:            netpbm | Name:            netpbm | ||||||
| Version:         10.99.00 | Version:         11.00.00 | ||||||
| Release:         2%{?dist} | Release:         1%{?dist} | ||||||
| # See copyright_summary for details | # See copyright_summary for details | ||||||
| License:         BSD and GPLv2 and IJG and MIT and Public Domain | License:         BSD and GPLv2 and IJG and MIT and Public Domain | ||||||
| URL: http://netpbm.sourceforge.net/ | URL: http://netpbm.sourceforge.net/ | ||||||
| @ -229,6 +229,9 @@ popd | |||||||
| %doc userguide/* | %doc userguide/* | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Oct 04 2022 Josef Ridky <jridky@redhat.com> - 11.00.00-1 | ||||||
|  | - New upstream release 11.00.00 (#2130384) | ||||||
|  | 
 | ||||||
| * Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.99.00-2 | * Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.99.00-2 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user