Update new upstream version (#1063264)

This commit is contained in:
Petr Hracek 2014-05-16 14:52:51 +02:00
parent c321e475d3
commit 987d88417f
13 changed files with 298 additions and 2269 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/netpbm-10.61.02.tar.xz
/netpbm-10.66.02.tar.xz

View File

@ -1,23 +0,0 @@
diff --git a/analyzer/pnmpsnr.c b/analyzer/pnmpsnr.c
index ce2708b..b04316c 100644
--- a/analyzer/pnmpsnr.c
+++ b/analyzer/pnmpsnr.c
@@ -55,14 +55,14 @@ validateInput(struct pam const pam1,
"maxval of one of them.",
(unsigned int) pam1.maxval, (unsigned int) pam2.maxval);
- if (streq(pam1.tuple_type, pam2.tuple_type))
+ if (!streq(pam1.tuple_type, pam2.tuple_type))
pm_error("images are not of the same type. The tuple types are "
"'%s' and '%s', respectively.",
pam1.tuple_type, pam2.tuple_type);
- if (streq(pam1.tuple_type, PAM_PBM_TUPLETYPE) &&
- streq(pam1.tuple_type, PAM_PGM_TUPLETYPE) &&
- streq(pam1.tuple_type, PAM_PPM_TUPLETYPE))
+ if (!streq(pam1.tuple_type, PAM_PBM_TUPLETYPE) &&
+ !streq(pam1.tuple_type, PAM_PGM_TUPLETYPE) &&
+ !streq(pam1.tuple_type, PAM_PPM_TUPLETYPE))
pm_error("Images are not of a PNM type. Tuple type is '%s'",
pam1.tuple_type);
}

View File

@ -0,0 +1,13 @@
diff --git a/test/Test-Order b/test/Test-Order
index ff4b985..7ef1d97 100644
--- a/test/Test-Order
+++ b/test/Test-Order
@@ -74,7 +74,7 @@ symmetry.test
# Format converter tests
-pbmtog3.test
+#pbmtog3.test
411toppm.test
eyuvtoppm.test

View File

@ -1,323 +0,0 @@
diff --git a/userguide/cameratopam.html b/userguide/cameratopam.html
index 7a6391e..89f6939 100644
--- a/userguide/cameratopam.html
+++ b/userguide/cameratopam.html
@@ -163,7 +163,7 @@ means.
href="http://www.cybercom.net/~dcoffin/dcraw/"><b>dcraw</b> by Dave
Coffin</a>, by Bryan Henderson in April 2005. Bryan replaced the part
that generates the Netpbm output image and removed the Adobe Photoshop
-output function. Bryan changed the command syntax and and made other
+output function. Bryan changed the command syntax and made other
small changes to make the program consistent with Netpbm. He also
split the source code into manageable pieces (<b>dcraw</b> has a
single 5000 line source file).
diff --git a/userguide/fiascotopnm.html b/userguide/fiascotopnm.html
index 2cd4f01..f1f1b17 100644
--- a/userguide/fiascotopnm.html
+++ b/userguide/fiascotopnm.html
@@ -76,7 +76,7 @@ Set magnification of the decompressed image. Positive values enlarge
and negative values reduce the image width and height by a factor of
2^|<I>N</I>|.
-<DT><B>-s</B> <I>N</I>, <B>--smooth=</B><I>N</I>
+<DT><B>-s</B> <I>N</I>, <B>--smoothing=</B><I>N</I>
<DD>
Smooth decompressed image(s) along the partitioning borders by the
given amount <I>N</I>. <I>N</I> is 1 (minimum) to 100 (maximum); default
@@ -88,6 +88,10 @@ FIASCO file is used (defined by the FIASCO coder).
Set number of frames per second to <I>N</I>. When using this option,
the frame rate specified in the FIASCO file is overridden.
+<DT><B>--verbose=</B><I>N</I>
+<DD>
+Set verbose of <B>fiascotopnm</B> to <I>N</I>.
+
<DT><B>-v</B>, <B>--version</B>
<DD>
Print <B>fiascotopnm</B> version number, then exit.
diff --git a/userguide/pamdepth.html b/userguide/pamdepth.html
index 1a2b5fd..c188e44 100644
--- a/userguide/pamdepth.html
+++ b/userguide/pamdepth.html
@@ -52,7 +52,7 @@ files before April 2000.
<b>pnmdepth</b>, by Jef Poskanzer. <b>pamdepth</b> is backward compatible
with <b>pnmdepth</b> and adds the ability to process arbitrary PAM images
and the ability to process multi-image input streams. <b>pnmdepth</b>
-handled only PNM images and ignored all but the the first in any stream.
+handled only PNM images and ignored all but the first in any stream.
<HR>
<H2 id="index">Table Of Contents</H2>
diff --git a/userguide/pamdice.html b/userguide/pamdice.html
index 0659e15..9053113 100644
--- a/userguide/pamdice.html
+++ b/userguide/pamdice.html
@@ -139,7 +139,7 @@ in each direction.
<B><A HREF="pgmslice.html">pgmslice</A></B>,
<B><A HREF="ppmglobe.html">ppmglobe</A></B>
<B><A HREF="pnm.html">pnm</A></B>
-<B><A HREF="pam.html">pnm</A></B>
+<B><A HREF="pam.html">pam</A></B>
<HR>
<H2 id="index">Table Of Contents</H2>
diff --git a/userguide/pamstereogram.html b/userguide/pamstereogram.html
index c337547..652b887 100644
--- a/userguide/pamstereogram.html
+++ b/userguide/pamstereogram.html
@@ -319,7 +319,7 @@ be. Lower (darker) numbers mean further from the eye.
<h3 id="inputimages">Input Images</h3>
-<p><b>pamstereogram</b> pays no attention the the image's tuple
+<p><b>pamstereogram</b> pays no attention the image's tuple
type and ignores all planes other than plane 0.</p>
<p>Like any Netpbm program, <b>pamstereogram</b> will accept PNM
diff --git a/userguide/pamtofits.html b/userguide/pamtofits.html
index 445b326..0ecc806 100644
--- a/userguide/pamtofits.html
+++ b/userguide/pamtofits.html
@@ -54,7 +54,7 @@ approximation.
<h3 id="pixelorder">Pixel Order</h3>
<p>The FITS specification does not specify which data in the file corresponds
-to which pixel in the image (i.e. which bytes are the the top left pixel,
+to which pixel in the image (i.e. which bytes are the top left pixel,
etc.). Netpbm uses the common sense, most popular arrangement: row major, top
to bottom, left to right. That means in a 10 wide by 20 high image, the first
10 pixels in the file are the top row and the last 10 are the bottom row.
diff --git a/userguide/pamtojpeg2k.html b/userguide/pamtojpeg2k.html
index 06b6113..046d740 100644
--- a/userguide/pamtojpeg2k.html
+++ b/userguide/pamtojpeg2k.html
@@ -181,7 +181,7 @@ its goal is similar to JPEG. It has two main differences from JPEG.
<p>One difference is that it does a much better job on most images of
throwing out information in order to achieve a smaller output. That
means when you reconstruct the image from the resulting compressed
-file, it looks a lot closer to the image you started with with
+file, it looks a lot closer to the image you started with
JPEG-2000 than with JPEG, for the same compressed file size. Or, looked
at another way, with JPEG-2000 you get a much smaller file than with
JPEG for the same image quality.
diff --git a/userguide/pamtotiff.html b/userguide/pamtotiff.html
index f07d227..c7a48a0 100644
--- a/userguide/pamtotiff.html
+++ b/userguide/pamtotiff.html
@@ -124,7 +124,7 @@ format it produces are therefore controlled by that library.
<P>By default, <B>pamtotiff</B> creates a TIFF file with no
compression. This is your best bet most of the time. If you want to
try another compression scheme or tweak some of the other even more
-obscure output options, there are a number of options which which to
+obscure output options, there are a number of options which to
play.
<p>Before Netpbm 8.4 (April 2000), the default was to use LZW compression.
diff --git a/userguide/pamtouil.html b/userguide/pamtouil.html
index 1074119..6c2356b 100644
--- a/userguide/pamtouil.html
+++ b/userguide/pamtouil.html
@@ -57,7 +57,7 @@ in the RGB database.
<A NAME="lbAF">&nbsp;</A>
<H2>SEE ALSO</H2>
-<A HREF="pamstack.html">pam</A>
+<A HREF="pamstack.html">pamstack</A>
<A HREF="pam.html">pam</A>
<A HREF="ppm.html">ppm</A>
diff --git a/userguide/pamundice.html b/userguide/pamundice.html
index 2b789b4..bf366d6 100644
--- a/userguide/pamundice.html
+++ b/userguide/pamundice.html
@@ -208,7 +208,7 @@ clips the bottom edge of each image before joining it to the one below.
<B><A HREF="pnmindex.html">pnmindex</A></B>,
<B><A HREF="pnmtile.html">pnmtile</A></B>,
<B><A HREF="pnm.html">pnm</A></B>
-<B><A HREF="pam.html">pnm</A></B>
+<B><A HREF="pam.html">pam</A></B>
<HR>
<H2 id="index">Table Of Contents</H2>
diff --git a/userguide/pbm.html b/userguide/pbm.html
index 63dfa40..7db4886 100644
--- a/userguide/pbm.html
+++ b/userguide/pbm.html
@@ -136,7 +136,7 @@ P1
accepting anything that looks remotely like a bitmap.
<p>All characters referred to herein are encoded in ASCII.
-&quot;newline&quot; refers the the character known in ASCII as Line
+&quot;newline&quot; refers the character known in ASCII as Line
Feed or LF. A &quot;white space&quot; character is space, CR, LF,
TAB, VT, or FF (I.e. what the ANSI standard C isspace() function
calls white space).
diff --git a/userguide/pbmtolj.html b/userguide/pbmtolj.html
index ce7e9bb..6da4555 100644
--- a/userguide/pbmtolj.html
+++ b/userguide/pbmtolj.html
@@ -83,7 +83,7 @@ and end of the output file.
<DT><B>-copies</B>
-<DD>Specifies the the number of copies. The default is 1. This option
+<DD>Specifies the number of copies. The default is 1. This option
controls the &quot;number of copies&quot; printer control;
<B>pbmtolj</B> generates only one copy of the image.
diff --git a/userguide/pgm.html b/userguide/pgm.html
index d75c9ef..7df1abc 100644
--- a/userguide/pgm.html
+++ b/userguide/pgm.html
@@ -153,7 +153,7 @@ P2
accepting anything that looks remotely like a PGM.
<p>All characters referred to herein are encoded in ASCII.
-&quot;newline&quot; refers the the character known in ASCII as Line
+&quot;newline&quot; refers the character known in ASCII as Line
Feed or LF. A &quot;white space&quot; character is space, CR, LF,
TAB, VT, or FF (I.e. what the ANSI standard C isspace() function
calls white space).
diff --git a/userguide/pngtopam.html b/userguide/pngtopam.html
index 8185843..09406ef 100644
--- a/userguide/pngtopam.html
+++ b/userguide/pngtopam.html
@@ -269,7 +269,7 @@ change to the package in Netpbm's renaissance. It and <b>pnmtopng</b>
were simply copied from the <a
href="http://www.libpng.org/pub/png/apps/pnmtopng.html">
<b>pnmtopng</b> package</a> by Greg Roelofs. Those were based on
-simpler reference applications by by Alexander Lehmann
+simpler reference applications by Alexander Lehmann
&lt;alex@hal.rhein-main.de&gt; and Willem van Schaik
&lt;willem@schaik.com&gt; and distributed with their PNG library.
diff --git a/userguide/pnmnorm.html b/userguide/pnmnorm.html
index c4d2558..5d3ca49 100644
--- a/userguide/pnmnorm.html
+++ b/userguide/pnmnorm.html
@@ -146,7 +146,7 @@ value 99 or the white value 101.
option. Sometimes, too much contrast is a bad thing. If your
intensities are all concentrated in the middle, <b>-bpercent=2</b> and
<b>-wpercent=1</b> might mean that an intensity of 60 gets stretched
-up to 100 and and intensity of 20 gets stretched down to zero, for a
+up to 100 and intensity of 20 gets stretched down to zero, for a
range expansion of 150% (from a range of 40 to a range of 100). That
much stretching means two adjacent pixels that used to differ in
intensity by 4 units now differ by 10, and that might be unsightly.
diff --git a/userguide/pnmtopalm.html b/userguide/pnmtopalm.html
index 94aa6ff..9ca9c0d 100644
--- a/userguide/pnmtopalm.html
+++ b/userguide/pnmtopalm.html
@@ -164,7 +164,7 @@ the <b>-colormap</b> option, for much the same reason.
<dt><b>-withdummy</b>
<dd>
-This option tells <b>pnmtopalm</b> to put in the stream, after after
+This option tells <b>pnmtopalm</b> to put in the stream, after
the image, a dummy image header to introduce subsequent high density
images.
diff --git a/userguide/ppm.html b/userguide/ppm.html
index c71aaa4..8e7a111 100644
--- a/userguide/ppm.html
+++ b/userguide/ppm.html
@@ -158,7 +158,7 @@ P3
accepting anything that looks remotely like a PPM image.
<p>All characters referred to herein are encoded in ASCII.
-&quot;newline&quot; refers the the character known in ASCII as Line
+&quot;newline&quot; refers the character known in ASCII as Line
Feed or LF. A &quot;white space&quot; character is space, CR, LF,
TAB, VT, or FF (I.e. what the ANSI standard C isspace() function
calls white space).
diff --git a/userguide/ppmtompeg.html b/userguide/ppmtompeg.html
index 4fa4a53..99efed9 100644
--- a/userguide/ppmtompeg.html
+++ b/userguide/ppmtompeg.html
@@ -1023,7 +1023,7 @@ without respect to any other frame in the movie. A P frame
("predictive" frame) describes a movie frame by describing how it
differs from the movie frame described by the latest preceding I or
P frame. A B frame ("bidirectional" frame) describes a movie frame by
-describing how it differs from the the movie frames described by the
+describing how it differs from the movie frames described by the
nearest I or P frame before <em>and</em> after it.
<p>Note that the first frame of a movie must be described by an I
diff --git a/userguide/ppmtopj.html b/userguide/ppmtopj.html
index c07c1d9..b50be28 100644
--- a/userguide/ppmtopj.html
+++ b/userguide/ppmtopj.html
@@ -61,7 +61,7 @@ You could convert your input to this format like this:
pnmremap -map 8color.pam testimg.pam | ppmtopj
</pre>
-Or you could use use
+Or you could use
<pre>
ppmdither -red 2 -green 2 -blue 2
</pre>
diff --git a/userguide/qrttoppm.html b/userguide/qrttoppm.html
index b6bf976..112bf50 100644
--- a/userguide/qrttoppm.html
+++ b/userguide/qrttoppm.html
@@ -22,7 +22,7 @@ qrttoppm - convert output from the QRT ray tracer to a PPM image
<p>This program is part of <a href="index.html">Netpbm</a>.
-<p><b>qrttoppm</b> reads a QRT file as input and and produces a PPM
+<p><b>qrttoppm</b> reads a QRT file as input and produces a PPM
image as output.
<A NAME="lbAE">&nbsp;</A>
diff --git a/userguide/sbigtopgm.html b/userguide/sbigtopgm.html
index 400bcaf..78f9454 100644
--- a/userguide/sbigtopgm.html
+++ b/userguide/sbigtopgm.html
@@ -22,7 +22,7 @@ sbigtopgm - convert an SBIG CCDOPS file to PGM
<p>This program is part of <a href="index.html">Netpbm</a>.
-<p><b>sbigtopgm</b> reads an an image file in the native format used
+<p><b>sbigtopgm</b> reads an image file in the native format used
by the Santa Barbara Instrument Group (SBIG) astronomical CCD cameras,
and produces a PGM image as output. Additional information on SBIG
cameras and documentation of the file format is available at the Web
diff --git a/userguide/srftopam.html b/userguide/srftopam.html
index b27f133..c98586f 100644
--- a/userguide/srftopam.html
+++ b/userguide/srftopam.html
@@ -30,7 +30,7 @@
<p>This program is part of <a href="index.html">Netpbm</a>.</p>
-<p><b>srftopam</b> reads a a SRF image file as input and produces a
+<p><b>srftopam</b> reads a SRF image file as input and produces a
multi-image stream of PAM images as output.
<p>This program performs the inverse of the conversion that <b>pamtosrf</b>
diff --git a/userguide/sunicontopnm.html b/userguide/sunicontopnm.html
index 6ccbcde..0290f7b 100644
--- a/userguide/sunicontopnm.html
+++ b/userguide/sunicontopnm.html
@@ -54,7 +54,7 @@ mostly XPM files.
<A HREF="xbmtoppm.html">xbmtoppm</A>,
<A HREF="infotopam.html">infotopam</A>,
<A HREF="pbm.html">pbm</A>
-<A HREF="pgm.html">pbm</A>
+<A HREF="pgm.html">pgm</A>
<H2 id="history">HISTORY</H2>
diff --git a/userguide/xpmtoppm.html b/userguide/xpmtoppm.html
index c7c857b..f96b249 100644
--- a/userguide/xpmtoppm.html
+++ b/userguide/xpmtoppm.html
@@ -46,7 +46,7 @@ alpha output to Standard Output and discards the image.
the alpha output file.
<p><b>xpmtoppm</b> can't handle a line longer than 8K characters in
-the the XPM input. If an input line exceeds this limit,
+the XPM input. If an input line exceeds this limit,
<b>xpmtoppm</b> quits with an error message to that effect. Before
Netpbm 10.30 (October 2005), the limit was 2K.

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +0,0 @@
diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
index e393931..93a5156 100644
--- a/converter/other/pnmtops.c
+++ b/converter/other/pnmtops.c
@@ -1994,6 +1994,13 @@ main(int argc, const char * argv[]) {
name = strdup("noname");
else
name = basebasename(cmdline.inputFileName);
+
+ /* This program manages file descriptors in a way that assumes
+ that new files will get file descriptor numbers less than 10,
+ so we close superfluous files now to make sure that's true.
+ */
+ closeAllBut(fileno(ifP), fileno(stdout), fileno(stderr));
+
{
int eof; /* There are no more images in the input file */
unsigned int imageSeq;

View File

@ -1,25 +0,0 @@
diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
index 24dc7df..e393931 100644
--- a/converter/other/pnmtops.c
+++ b/converter/other/pnmtops.c
@@ -1909,6 +1909,7 @@ convertPage(FILE * const ifP,
/* The file stream which is the head of the filter chain; we write to
this and filtered stuff comes out the other end.
*/
+ FILE * filterChainOfP;
pnm_readpaminit(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type));
@@ -1951,7 +1952,11 @@ convertPage(FILE * const ifP,
initOutputEncoder(&oe, inpam.width, bitsPerSample,
rle, flate, ascii85, psFilter);
- spawnFilters(stdout, &oe, &feedFileP, filterPidList);
+ fflush(stdout);
+ filterChainOfP = fdopen(dup(fileno(stdout)), "w");
+ /* spawnFilters() closes this. See FILE MANAGEMENT above */
+
+ spawnFilters(filterChainOfP, &oe, &feedFileP, filterPidList);
convertRaster(&inpam, bitsPerSample, psFilter, feedFileP);

View File

@ -1,20 +1,13 @@
--- netpbm-10.24/GNUmakefile.nodoc 2004-08-11 20:41:54.000000000 +0200
+++ netpbm-10.24/GNUmakefile 2004-09-23 16:08:29.724369240 +0200
@@ -275,16 +275,12 @@
diff --git a/GNUmakefile b/GNUmakefile
index b0b7f00..a46329d 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -369,7 +369,7 @@ install.lib:
endif
.PHONY: install.manweb
-install.manweb: $(PKGDIR)/man/web/netpbm.url $(PKGDIR)/bin/doc.url
+install.manweb: $(PKGDIR)/man/web/netpbm.url
.PHONY: install.manwebmain
-install.manwebmain: $(PKGDIR)/man/web/netpbm.url $(PKGDIR)/bin/doc.url
+install.manwebmain: $(PKGDIR)/man/web/netpbm.url
$(PKGDIR)/man/web/netpbm.url: $(PKGDIR)/man/web
echo "$(NETPBM_DOCURL)" > $@
chmod $(INSTALL_PERM_MAN) $@
-$(PKGDIR)/bin/doc.url: $(PKGDIR)/bin
- echo "$(NETPBM_DOCURL)" > $@
- chmod $(INSTALL_PERM_MAN) $@
-
.PHONY: install-dev
# Note that you might install the development package and NOT the runtime
# package. If you have a special system for building stuff, maybe for

View File

@ -139,38 +139,6 @@ diff -up netpbm-10.58.01/converter/other/pnmtops.c.security-code netpbm-10.58.01
cmdlineP->imageheight = imageheight * 72;
}
else
diff -up netpbm-10.58.01/converter/other/pnmtorle.c.security-code netpbm-10.58.01/converter/other/pnmtorle.c
--- netpbm-10.58.01/converter/other/pnmtorle.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/pnmtorle.c 2012-04-09 15:40:03.188619976 +0200
@@ -19,6 +19,8 @@
* If you modify this software, you should include a notice giving the
* name of the person performing the modification, the date of modification,
* and the reason for such modification.
+ *
+ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com>
*/
/*
* pnmtorle - A program which will convert pbmplus (ppm or pgm) images
diff -up netpbm-10.58.01/converter/other/pnmtosgi.c.security-code netpbm-10.58.01/converter/other/pnmtosgi.c
--- netpbm-10.58.01/converter/other/pnmtosgi.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/pnmtosgi.c 2012-04-09 15:40:03.188619976 +0200
@@ -254,6 +254,7 @@ build_channels(FILE * const ifp, int con
#endif
if( storage != STORAGE_VERBATIM ) {
+ overflow2(channels, rows);
MALLOCARRAY_NOFAIL(table, channels * rows);
MALLOCARRAY_NOFAIL(rletemp, WORSTCOMPR(cols));
}
@@ -306,6 +307,8 @@ compress(ScanElem * temp,
break;
case STORAGE_RLE:
tabrow = chan_no * rows + row;
+ overflow2(chan_no, rows);
+ overflow_add(chan_no* rows, row);
len = rle_compress(temp, cols); /* writes result into rletemp */
channel[chan_no][row].length = len;
MALLOCARRAY(p, len);
diff -up netpbm-10.58.01/converter/other/rletopnm.c.security-code netpbm-10.58.01/converter/other/rletopnm.c
--- netpbm-10.58.01/converter/other/rletopnm.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/rletopnm.c 2012-04-09 15:40:03.189619963 +0200
@ -183,25 +151,6 @@ diff -up netpbm-10.58.01/converter/other/rletopnm.c.security-code netpbm-10.58.0
*/
/*
* rletopnm - A conversion program to convert from Utah's "rle" image format
diff -up netpbm-10.58.01/converter/other/sgitopnm.c.security-code netpbm-10.58.01/converter/other/sgitopnm.c
--- netpbm-10.58.01/converter/other/sgitopnm.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/sgitopnm.c 2012-04-09 15:40:03.189619963 +0200
@@ -359,10 +359,14 @@ readChannels(FILE * const ifP,
MALLOCARRAY_NOFAIL(image, head->ysize);
} else {
maxchannel = MIN(3, head->zsize);
+ overflow2(head->ysize, maxchannel);
MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel);
}
- if (table)
+ if (table) {
+ overflow2(head->xsize, 2);
+ overflow_add(head->xsize*2, 2);
MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize));
+ }
for (channel = 0; channel < maxchannel; ++channel) {
unsigned int row;
diff -up netpbm-10.58.01/converter/other/sirtopnm.c.security-code netpbm-10.58.01/converter/other/sirtopnm.c
--- netpbm-10.58.01/converter/other/sirtopnm.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/other/sirtopnm.c 2012-04-09 15:40:03.190619951 +0200
@ -729,46 +678,6 @@ diff -up netpbm-10.58.01/converter/ppm/ppmtoicr.c.security-code netpbm-10.58.01/
p = testimage;
for (i=0; i<rows; i++)
for (j=0; j<cols; j++)
diff -up netpbm-10.58.01/converter/ppm/ppmtoilbm.c.security-code netpbm-10.58.01/converter/ppm/ppmtoilbm.c
--- netpbm-10.58.01/converter/ppm/ppmtoilbm.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/ppm/ppmtoilbm.c 2012-04-09 15:40:03.208619727 +0200
@@ -1220,6 +1220,7 @@ ppm_to_rgb8(ifP, cols, rows, maxval)
maskmethod = 0; /* no masking - RGB8 uses genlock bits */
compmethod = 4; /* RGB8 files are always compressed */
+ overflow2(cols, 4);
MALLOCARRAY_NOFAIL(compr_row, cols * 4);
if( maxval != 255 ) {
@@ -1308,6 +1309,7 @@ ppm_to_rgbn(ifP, cols, rows, maxval)
maskmethod = 0; /* no masking - RGBN uses genlock bits */
compmethod = 4; /* RGBN files are always compressed */
+ overflow2(cols, 2);
MALLOCARRAY_NOFAIL(compr_row, cols * 2);
if( maxval != 15 ) {
@@ -1785,6 +1787,7 @@ make_val_table(oldmaxval, newmaxval)
unsigned int i;
int * table;
+ overflow_add(oldmaxval, 1);
MALLOCARRAY_NOFAIL(table, oldmaxval + 1);
for (i = 0; i <= oldmaxval; ++i)
table[i] = ROUNDDIV(i * newmaxval, oldmaxval);
@@ -2293,8 +2296,11 @@ main(int argc, char ** argv) {
MALLOCARRAY_NOFAIL(coded_rowbuf, RowBytes(cols));
for (i = 0; i < RowBytes(cols); ++i)
coded_rowbuf[i] = 0;
- if (DO_COMPRESS)
+ if (DO_COMPRESS) {
+ overflow2(cols,2);
+ overflow_add(cols*2,2);
MALLOCARRAY_NOFAIL(compr_rowbuf, WORSTCOMPR(RowBytes(cols)));
+ }
}
switch (mode) {
diff -up netpbm-10.58.01/converter/ppm/ppmtolj.c.security-code netpbm-10.58.01/converter/ppm/ppmtolj.c
--- netpbm-10.58.01/converter/ppm/ppmtolj.c.security-code 2012-04-09 15:31:42.000000000 +0200
+++ netpbm-10.58.01/converter/ppm/ppmtolj.c 2012-04-09 15:40:03.210619701 +0200
@ -988,17 +897,6 @@ diff -up netpbm-10.58.01/converter/ppm/ximtoppm.c.security-code netpbm-10.58.01/
header->colors = (Color *)calloc((unsigned int)header->ncolors,
sizeof(Color));
if (header->colors == NULL) {
diff -up netpbm-10.58.01/converter/ppm/yuvtoppm.c.security-code netpbm-10.58.01/converter/ppm/yuvtoppm.c
--- netpbm-10.58.01/converter/ppm/yuvtoppm.c.security-code 2012-04-09 15:31:44.000000000 +0200
+++ netpbm-10.58.01/converter/ppm/yuvtoppm.c 2012-04-09 15:40:03.218619602 +0200
@@ -72,6 +72,7 @@ main(argc, argv)
ppm_writeppminit(stdout, cols, rows, (pixval) 255, 0);
pixrow = ppm_allocrow(cols);
+ overflow_add(cols, 1);
MALLOCARRAY(yuvbuf, (cols+1)/2);
if (yuvbuf == NULL)
pm_error("Unable to allocate YUV buffer for %d columns.", cols);
diff -up netpbm-10.58.01/editor/pamcut.c.security-code netpbm-10.58.01/editor/pamcut.c
--- netpbm-10.58.01/editor/pamcut.c.security-code 2012-04-09 15:31:33.000000000 +0200
+++ netpbm-10.58.01/editor/pamcut.c 2012-04-09 15:40:03.218619602 +0200
@ -1119,29 +1017,6 @@ diff -up netpbm-10.58.01/editor/pnmscalefixed.c.security-code netpbm-10.58.01/ed
sxscale = SCALE * newcols / cols;
syscale = SCALE * newrows / rows;
diff -up netpbm-10.58.01/editor/pnmshear.c.security-code netpbm-10.58.01/editor/pnmshear.c
--- netpbm-10.58.01/editor/pnmshear.c.security-code 2012-04-09 15:31:33.000000000 +0200
+++ netpbm-10.58.01/editor/pnmshear.c 2012-04-09 15:40:03.224619526 +0200
@@ -15,6 +15,7 @@
#include <assert.h>
#include <math.h>
#include <string.h>
+#include <limits.h>
#include "pm_c_util.h"
#include "ppm.h"
@@ -236,6 +237,11 @@ main(int argc, char * argv[]) {
shearfac = fabs(tan(cmdline.angle));
+ if(rows * shearfac >= INT_MAX-1)
+ pm_error("image too large");
+
+ overflow_add(rows * shearfac, cols+1);
+
newcols = rows * shearfac + cols + 0.999999;
pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0);
diff -up netpbm-10.58.01/editor/ppmdither.c.security-code netpbm-10.58.01/editor/ppmdither.c
--- netpbm-10.58.01/editor/ppmdither.c.security-code 2012-04-09 15:31:33.000000000 +0200
+++ netpbm-10.58.01/editor/ppmdither.c 2012-04-09 15:40:03.224619526 +0200
@ -1215,18 +1090,6 @@ diff -up netpbm-10.58.01/generator/pgmcrater.c.security-code netpbm-10.58.01/gen
if (aux == NULL)
pm_error("out of memory allocating elevation array");
diff -up netpbm-10.58.01/generator/pgmkernel.c.security-code netpbm-10.58.01/generator/pgmkernel.c
--- netpbm-10.58.01/generator/pgmkernel.c.security-code 2012-04-09 15:31:34.000000000 +0200
+++ netpbm-10.58.01/generator/pgmkernel.c 2012-04-09 15:40:03.226619502 +0200
@@ -68,7 +68,7 @@ main ( argc, argv )
kycenter = (fysize - 1) / 2.0;
ixsize = fxsize + 0.999;
iysize = fysize + 0.999;
- MALLOCARRAY(fkernel, ixsize * iysize);
+ fkernel = (double *) malloc3 (ixsize, iysize, sizeof(double));
for (i = 0; i < iysize; i++)
for (j = 0; j < ixsize; j++) {
fkernel[i*ixsize+j] = 1.0 / (1.0 + w * sqrt((double)
diff -up netpbm-10.58.01/lib/libpam.c.security-code netpbm-10.58.01/lib/libpam.c
--- netpbm-10.58.01/lib/libpam.c.security-code 2012-04-09 15:31:38.000000000 +0200
+++ netpbm-10.58.01/lib/libpam.c 2012-04-09 15:40:03.227619490 +0200
@ -1252,17 +1115,6 @@ diff -up netpbm-10.58.01/lib/libpammap.c.security-code netpbm-10.58.01/lib/libpa
unsigned int const size =
sizeof(*retval) - sizeof(retval->tupleint.tuple)
+ pamP->depth * sizeof(sample);
diff -up netpbm-10.58.01/lib/libpbm1.c.security-code netpbm-10.58.01/lib/libpbm1.c
--- netpbm-10.58.01/lib/libpbm1.c.security-code 2012-04-09 15:31:38.000000000 +0200
+++ netpbm-10.58.01/lib/libpbm1.c 2012-04-09 15:40:03.228619477 +0200
@@ -77,6 +77,7 @@ pbm_check(FILE * file, const enum pm_che
pm_message("pm_filepos passed to pm_check() is %u bytes",
sizeof(pm_filepos));
#endif
+ overflow2(bytes_per_row, rows);
pm_check(file, check_type, need_raster_size, retval_p);
}
}
diff -up netpbm-10.58.01/lib/libpm.c.security-code netpbm-10.58.01/lib/libpm.c
--- netpbm-10.58.01/lib/libpm.c.security-code 2012-04-09 15:31:38.000000000 +0200
+++ netpbm-10.58.01/lib/libpm.c 2012-04-09 15:40:03.229619464 +0200
@ -1680,3 +1532,118 @@ diff -up netpbm-10.58.01/urt/scanargs.c.security-code netpbm-10.58.01/urt/scanar
static CONST_DECL char * prformat( CONST_DECL char *, int );
static int isnum( CONST_DECL char *, int, int );
diff --git a/converter/other/pnmtorle.c b/converter/other/pnmtorle.c
index 180b144..d99d99f 100644
--- a/converter/other/pnmtorle.c
+++ b/converter/other/pnmtorle.c
@@ -19,6 +19,8 @@
* If you modify this software, you should include a notice giving the
* name of the person performing the modification, the date of modification,
* and the reason for such modification.
+ *
+ * 2002-12-19: Fix maths wrapping bugs. Alan Cox <alan@redhat.com>
*/
/*
* pnmtorle - A program which will convert pbmplus (ppm or pgm) images
diff --git a/converter/ppm/ppmtoilbm.c b/converter/ppm/ppmtoilbm.c
index e114457..7c46307 100644
--- a/converter/ppm/ppmtoilbm.c
+++ b/converter/ppm/ppmtoilbm.c
@@ -185,6 +185,7 @@ makeValTable(int const oldmaxval,
unsigned int i;
int * table;
+ overflow_add(oldmaxval, 1);
MALLOCARRAY_NOFAIL(table, oldmaxval + 1);
for (i = 0; i <= oldmaxval; ++i)
table[i] = ROUNDDIV(i * newmaxval, oldmaxval);
@@ -2328,8 +2329,11 @@ main(int argc, char ** argv) {
MALLOCARRAY_NOFAIL(coded_rowbuf, RowBytes(cols));
for (i = 0; i < RowBytes(cols); ++i)
coded_rowbuf[i] = 0;
- if (DO_COMPRESS)
+ if (DO_COMPRESS) {
+ overflow2(cols,2);
+ overflow_add(cols*2,2);
MALLOCARRAY_NOFAIL(compr_rowbuf, WORSTCOMPR(RowBytes(cols)));
+ }
}
switch (mode) {
diff --git a/editor/pnmshear.c b/editor/pnmshear.c
index 99fa302..dedce11 100644
--- a/editor/pnmshear.c
+++ b/editor/pnmshear.c
@@ -15,6 +15,7 @@
#include <assert.h>
#include <math.h>
#include <string.h>
+#include <limits.h>
#include "pm_c_util.h"
#include "mallocvar.h"
@@ -242,6 +243,11 @@ main(int argc, const char * argv[]) {
shearfac = fabs(tan(cmdline.angle));
+ if(rows * shearfac >= INT_MAX-1)
+ pm_error("image too large");
+
+ overflow_add(rows * shearfac, cols+1);
+
newcols = rows * shearfac + cols + 0.999999;
pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0);
diff --git a/lib/libpbm1.c b/lib/libpbm1.c
index c96779e..543fa36 100644
--- a/lib/libpbm1.c
+++ b/lib/libpbm1.c
@@ -78,6 +78,7 @@ pbm_check(FILE * const fileP,
} else {
pm_filepos const bytesPerRow = (cols+7)/8;
pm_filepos const needRasterSize = rows * bytesPerRow;
+ overflow2(bytesPerRow, rows);
pm_check(fileP, checkType, needRasterSize, retvalP);
}
}
diff --git a/converter/other/pnmtosgi.c b/converter/other/pnmtosgi.c
index a8df532..514e9e6 100644
--- a/converter/other/pnmtosgi.c
+++ b/converter/other/pnmtosgi.c
@@ -176,6 +176,8 @@ compress(ScanElem * const tempArg,
break;
case STORAGE_RLE: {
unsigned int const tabrow = chanNum * rows + row;
+ overflow2(chanNum, rows);
+ overflow_add(chanNum* rows, row);
unsigned int const len = rleCompress(tempArg, cols);
/* writes result into rletemp */
unsigned int i;
@@ -212,6 +214,7 @@ buildChannels(FILE * const ifP,
ScanElem * temp;
if (storage != STORAGE_VERBATIM) {
+ overflow2(channels, rows);
MALLOCARRAY_NOFAIL(table, channels * rows);
MALLOCARRAY_NOFAIL(rletemp, WORSTCOMPR(cols));
} else
diff --git a/converter/other/sgitopnm.c b/converter/other/sgitopnm.c
index 008d537..ea9a2e9 100644
--- a/converter/other/sgitopnm.c
+++ b/converter/other/sgitopnm.c
@@ -372,10 +372,14 @@ readChannels(FILE * const ifP,
MALLOCARRAY_NOFAIL(image, head->ysize);
} else {
maxchannel = 3;
+ overflow2(head->ysize, maxchannel);
MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel);
}
- if (table)
+ if (table) {
+ overflow2(head->xsize, 2);
+ overflow2(head->xsize*2, 2);
MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize));
+ }
for (channel = 0; channel < maxchannel; ++channel) {
unsigned int row;

View File

@ -1,7 +1,8 @@
diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.05/converter/other/anytopnm
--- netpbm-10.47.05/converter/other/anytopnm.security-scripts 2009-12-10 08:34:36.000000000 +0100
+++ netpbm-10.47.05/converter/other/anytopnm 2010-03-16 21:28:09.000000000 +0100
@@ -510,10 +510,7 @@ else
diff --git a/converter/other/anytopnm b/converter/other/anytopnm
index acf8813..335312a 100755
--- a/converter/other/anytopnm
+++ b/converter/other/anytopnm
@@ -511,10 +511,7 @@ else
inputFile="-"
fi
@ -13,10 +14,13 @@ diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.
# Take out all spaces
# Find the filename extension for last-ditch efforts later
@@ -539,9 +536,17 @@ if [ "$filetype" = "unknown" ]; then
echo "$progname: unknown file type. " \
"'file' says mime type is '$mimeType', " 1>&2
echo "type description is '$typeDescription'" 1>&2
@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
if [ "$filetype" = "unknown" ]; then
- echo "$progname: unknown file type. " \
- "'file' says mime type is '$mimeType', " 1>&2
- echo "type description is '$typeDescription'" 1>&2
+ if [ -d "$tempdir" ] ; then
+ rm -rf "$tempdir"
+ fi
@ -31,10 +35,11 @@ diff -up netpbm-10.47.05/converter/other/anytopnm.security-scripts netpbm-10.47.
+fi
+
exit 0
diff -up netpbm-10.47.05/editor/pamstretch-gen.security-scripts netpbm-10.47.05/editor/pamstretch-gen
--- netpbm-10.47.05/editor/pamstretch-gen.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/pamstretch-gen 2010-03-16 21:28:47.000000000 +0100
@@ -31,13 +31,9 @@ if [ "$1" = "" ]; then
diff --git a/editor/pamstretch-gen b/editor/pamstretch-gen
index ba0e818..250fca0 100755
--- a/editor/pamstretch-gen
+++ b/editor/pamstretch-gen
@@ -31,9 +31,7 @@ if [ "$1" = "" ]; then
exit 1
fi
@ -44,15 +49,12 @@ diff -up netpbm-10.47.05/editor/pamstretch-gen.security-scripts netpbm-10.47.05/
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
trap 'rm -rf $tempdir' 0 1 3 15
-tempfile=$tempdir/pnmig
-
if ! cat $2 >$tempfile 2>/dev/null; then
echo 'pamstretch-gen: error reading file' 1>&2
exit 1
diff -up netpbm-10.47.05/editor/pnmmargin.security-scripts netpbm-10.47.05/editor/pnmmargin
--- netpbm-10.47.05/editor/pnmmargin.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/pnmmargin 2010-03-16 21:28:09.000000000 +0100
@@ -11,15 +11,11 @@
tempfile=$tempdir/pnmig
diff --git a/editor/pnmmargin b/editor/pnmmargin
index 0f57d1d..e0d3625 100755
--- a/editor/pnmmargin
+++ b/editor/pnmmargin
@@ -11,11 +11,7 @@
# documentation. This software is provided "as is" without express or
# implied warranty.
@ -61,47 +63,37 @@ diff -up netpbm-10.47.05/editor/pnmmargin.security-scripts netpbm-10.47.05/edito
- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
-trap 'rm -rf $tempdir' 0 1 3 15
-
-tmp1=$tempdir/pnmm1
-tmp2=$tempdir/pnmm2
-tmp3=$tempdir/pnmm3
-tmp4=$tempdir/pnmm4
+tmpdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
+tmp1="$tmpdir/tmp1"
+tmp2="$tmpdir/tmp2"
+tmp3="$tmpdir/tmp3"
+tmp4="$tmpdir/tmp4"
color="-gofigure"
plainopt=""
+tempdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
tmp1=$tempdir/pnmm1
tmp2=$tempdir/pnmm2
tmp3=$tempdir/pnmm3
@@ -90,6 +86,7 @@ else
-white | -black )
pnmpad $plainopt $color \
-left=$size -right=$size -top=$size -bottom=$size $tmp1
+ rm -rf "$tmpdir"
+ rm -rf "$tempdir"
exit
;;
* )
@@ -102,7 +99,4 @@ else
pnmcat -lr $tmp2 $tmp1 $tmp2 > $tmp4
@@ -103,4 +100,4 @@ else
pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
fi
-
-
-
-
+rm -rf "$tmpdir"
diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/ppmfade
--- netpbm-10.47.05/editor/ppmfade.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/ppmfade 2010-03-16 21:28:09.000000000 +0100
@@ -14,6 +14,7 @@
+rm -rf "$tempdir"
diff --git a/editor/ppmfade b/editor/ppmfade
index 027fc79..8eb094f 100755
--- a/editor/ppmfade
+++ b/editor/ppmfade
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
##############################################################################
use strict;
+use File::Temp "tempdir";
my $SPREAD = 1;
my $SHIFT = 2;
@@ -111,20 +112,26 @@ if ($first_file ne "undefined") {
@@ -137,20 +138,26 @@ if ($first_file ne "undefined") {
print("Frames are " . $width . "W x " . $height . "H\n");
@ -132,7 +124,7 @@ diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/
}
#
@@ -132,14 +139,14 @@ if ($last_file eq "undefined") {
@@ -158,14 +165,14 @@ if ($last_file eq "undefined") {
#
# Here's what our temporary files are:
@ -155,7 +147,7 @@ diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/
my $i; # Frame number
for ($i = 1; $i <= $nframes; $i++) {
@@ -147,147 +154,147 @@ for ($i = 1; $i <= $nframes; $i++) {
@@ -173,147 +180,147 @@ for ($i = 1; $i <= $nframes; $i++) {
if ($mode eq $SPREAD) {
if ($i <= 10) {
my $n = $spline20[$i] * 100;
@ -356,10 +348,11 @@ diff -up netpbm-10.47.05/editor/ppmfade.security-scripts netpbm-10.47.05/editor/
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
diff -up netpbm-10.47.05/editor/ppmshadow.security-scripts netpbm-10.47.05/editor/ppmshadow
--- netpbm-10.47.05/editor/ppmshadow.security-scripts 2009-12-10 08:34:32.000000000 +0100
+++ netpbm-10.47.05/editor/ppmshadow 2010-03-16 21:28:09.000000000 +0100
@@ -72,9 +72,10 @@ sub makeConvolutionKernel($$) {
diff --git a/editor/ppmshadow b/editor/ppmshadow
index 62cdf8b..72e1b22 100755
--- a/editor/ppmshadow
+++ b/editor/ppmshadow
@@ -97,9 +97,10 @@ sub makeConvolutionKernel($$) {
my $tmpdir = $ENV{TMPDIR} || "/tmp";

102
netpbm-werror.patch Normal file
View File

@ -0,0 +1,102 @@
diff --git a/converter/pbm/cmuwmtopbm.c b/converter/pbm/cmuwmtopbm.c
index 5c138c1..1f9bc6c 100644
--- a/converter/pbm/cmuwmtopbm.c
+++ b/converter/pbm/cmuwmtopbm.c
@@ -48,20 +48,20 @@ readCmuwmHeader(FILE * const ifP,
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
if ((uint32_t)l != cmuwmMagic)
pm_error("bad magic number in CMU window manager file");
rc = pm_readbiglong(ifP, &l);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*colsP = l;
rc = pm_readbiglong(ifP, &l);
if (rc == -1 )
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*rowsP = l;
rc = pm_readbigshort(ifP, &s);
if (rc == -1)
- pm_error(initReadError);
+ pm_error("%s", initReadError);
*depthP = s;
}
diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c
index 3aa2e43..b8ebf39 100644
--- a/converter/other/tifftopnm.c
+++ b/converter/other/tifftopnm.c
@@ -1459,7 +1459,7 @@ convertRasterInMemory(pnmOut * const pnmOutP,
int ok;
ok = TIFFRGBAImageOK(tif, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_UNABLE;
} else {
uint32 * raster;
@@ -1479,14 +1479,14 @@ convertRasterInMemory(pnmOut * const pnmOutP,
ok = TIFFRGBAImageBegin(&img, tif, stopOnErrorFalse, emsg);
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
int ok;
ok = TIFFRGBAImageGet(&img, raster, cols, rows);
TIFFRGBAImageEnd(&img) ;
if (!ok) {
- pm_message(emsg);
+ pm_message("%s", emsg);
*statusP = CONV_FAILED;
} else {
*statusP = CONV_DONE;
diff --git a/lib/util/pm_c_util.h b/lib/util/pm_c_util.h
index 01a0765..8f5aa01 100644
--- a/lib/util/pm_c_util.h
+++ b/lib/util/pm_c_util.h
@@ -80,10 +80,10 @@
#endif
#ifndef TRUE
- #define TRUE true
+ #define TRUE 1
#endif
#ifndef FALSE
- #define FALSE false
+ #define FALSE 0
#endif
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
diff --git a/converter/other/fiasco/pnmtofiasco.c b/converter/other/fiasco/pnmtofiasco.c
index d78ff6b..761dac5 100644
--- a/converter/other/fiasco/pnmtofiasco.c
+++ b/converter/other/fiasco/pnmtofiasco.c
@@ -170,7 +170,7 @@ main (int argc, char **argv)
return 0;
else
{
- fprintf (stderr, fiasco_get_error_message ());
+ fprintf (stderr, "%s", fiasco_get_error_message ());
fprintf (stderr, "\n");
return 1;
}
diff --git a/converter/other/fiasco/params.c b/converter/other/fiasco/params.c
index a4d843a..9659e9f 100644
--- a/converter/other/fiasco/params.c
+++ b/converter/other/fiasco/params.c
@@ -656,7 +656,7 @@ usage (const param_t *params, const char *progname, const char *synopsis,
fprintf (stderr, "Usage: %s [OPTION]...%s\n", progname,
non_opt_string ? non_opt_string : " ");
if (synopsis != NULL)
- fprintf (stderr, synopsis);
+ fprintf (stderr, "%s\n", synopsis);
fprintf (stderr, "\n\n");
fprintf (stderr, "Mandatory or optional arguments to long options "
"are mandatory or optional\nfor short options too. "

View File

@ -1,7 +1,7 @@
Summary: A library for handling different graphics file formats
Name: netpbm
Version: 10.61.02
Release: 9%{?dist}
Version: 10.66.02
Release: 1%{?dist}
# See copyright_summary for details
License: BSD and GPLv2 and IJG and MIT and Public Domain
Group: System Environment/Libraries
@ -33,13 +33,8 @@ Patch22: netpbm-pamtojpeg2k.patch
Patch23: netpbm-manfix.patch
Patch24: netpbm-ppmtopict.patch
Patch25: netpbm-pnmtopclxl.patch
#Patch26: netpbm-man-repeated.patch
Patch27: netpbm-multipage-pam.patch
Patch28: netpbm-compare-same-images.patch
#Patch29: netpbm-man-corrections.patch
Patch29: netpbm-manual-pages.patch
Patch30: netpbm-format-security.patch
Patch31: netpbm-more-files.patch
Patch26: netpbm-werror.patch
Patch27: netpbm-disable-pbmtog3.patch
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex
BuildRequires: libX11-devel, python, jasper-devel, libxml2-devel
@ -104,7 +99,7 @@ netpbm-doc. You'll also need to install the netpbm-progs package.
%patch9 -p1 -b .xwdfix
%patch11 -p1 -b .multilib
%patch13 -p1 -b .glibc
%patch15 -p1
%patch15 -p1 -b .docfix
%patch16 -p1 -b .ppmfadeusage
%patch17 -p1 -b .fiasco-overflow
%patch20 -p1 -b .noppmtompeg
@ -113,13 +108,8 @@ netpbm-doc. You'll also need to install the netpbm-progs package.
%patch23 -p1 -b .manfix
%patch24 -p1 -b .ppmtopict
%patch25 -p1 -b .pnmtopclxl
#%patch26 -p1 -b .man-repeated
%patch27 -p1 -b .multipage-pam
%patch28 -p1 -b .compare-same-images
#%patch29 -p1 -b .man-corrections
%patch29 -p1 -b .manual-pages
%patch30 -p1 -b .fmt-sec
%patch31 -p1 -b .more-files
%patch26 -p1 -b .werror
%patch27 -p1 -b .disable-pbmtog3
sed -i 's/STRIPFLAG = -s/STRIPFLAG =/g' config.mk.in
rm -rf converter/other/jpeg2000/libjasper/
@ -224,6 +214,7 @@ rm -rf $RPM_BUILD_ROOT/usr/misc
rm -rf $RPM_BUILD_ROOT/usr/man
rm -rf $RPM_BUILD_ROOT/usr/pkginfo
rm -rf $RPM_BUILD_ROOT/usr/config_template
rm -rf $RPM_BUILD_ROOT/usr/pkgconfig_template
# Don't ship the static library
rm -f $RPM_BUILD_ROOT/%{_libdir}/lib*.a
@ -240,6 +231,7 @@ popd
pushd test
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
export PBM_TESTPREFIX=$RPM_BUILD_ROOT%{_bindir}
export PBM_BINPREFIX=$RPM_BUILD_ROOT%{_bindir}
./Execute-Tests && exit 0
popd
@ -274,7 +266,10 @@ rm -rf $RPM_BUILD_ROOT
%doc userguide/*
%changelog
* Wed Nov 13 2013 Petr Hracek <phracek@redhat.com> - 10.61.02-9
* Tue May 13 2014 Petr Hracek <phracek@redhat.com> - 10.66.02-1
- Update new sources (#1063264)
* Wed Nov 13 2013 Petr Hracek <phracek@redhat.com> - 10.61.02-8
- pnmtops hangs in case of more then 10 files (#1029512)
* Mon Apr 14 2014 Jaromir Capik <jcapik@redhat.com> - 10.61.02-8

View File

@ -1 +1 @@
42bbb9fb283687c82e5c608901b22061 netpbm-10.61.02.tar.xz
dcb7de91384d630eb399e48c71158f3d netpbm-10.66.02.tar.xz