netpbm/netpbm-security-scripts.patch
Petr Gajdos 3531121433 - version update to 10.98.2
palmtopnm: Fix failure with bogus claim of invalid input on
    architectures that do not use two's complement negative numbers.
    Always broken.  (Ability to convert PackBits input was new in
    Netpbm 10.27 (March 2005).
    pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output.
    Always broken (These options were new in Netpbm 10.32 (February
    2006)).  Thanks Alexander Shpilkin <ashpilkin@gmail.com>.
    pamdice: Fix incorrect output file name with PAM input.  Always
    broken (pamdice was new in Netpbm 9.25 (March 2002).
    pamtopdbimg: Add -fixedtime.
    ppmfade: Use temporary files securely.
    pnmtosir: Set some possibly meaningless bits in output to zero
    so output is repeatable.
    pamx: Fix bug: top-justifies image in all cases where it should
    bottom-justify.  Always broken.  (pamx was new in Netpbm 10.34
    (June 2006).
    pnmtorle: Fix bug: -h works only on first image.
    pamsistoaglyph: Fix invalid memory reference and incorrect
    output on depth 1 input.  Always broken.  (pamsistoaglyph was
    new in Netpbm 10.47 (June 2009).  Thanks Scott Pakin.
    pambayer: Fix bogus colors at edges.  Always Broken (pambayer
    was new in Release 10.30 (October 2005)).
    libnetpbm, various programs: fix bug: bogus warning that a color
    specified on command line cannot be represented exactly with the
    maxval being used.  Introduced in Netpbm 10.83 (June 2018).
    pnmtopsnr: Fix typo in error message.  Always broken (pnmpsnr
    was new in Netpbm 9.6 (July 2000).
    ppmtoilbm: Remove -floyd (aka -fs) option, which hasn't worked
    in a long time if ever and is inappropriate function for this

OBS-URL: https://build.opensuse.org/package/show/graphics/netpbm?expand=0&rev=131
2022-05-30 14:58:55 +00:00

147 lines
6.7 KiB
Diff

Index: netpbm-10.98.2/editor/ppmfade
===================================================================
--- netpbm-10.98.2.orig/editor/ppmfade
+++ netpbm-10.98.2/editor/ppmfade
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
#
##############################################################################
use strict;
+use File::Temp "tempdir";
use File::Temp;
@@ -212,84 +213,84 @@ for ($i = 1; $i <= $nframes; $i++) {
$n = $spline20[$i] * 100;
system("ppmshift $n $tmpdir/junk1.ppm >$tmpdir/junk1a.ppm");
$n = (1-$spline20[$i-10])*100;
- system("ppmshift $n junk2.ppm >junk2a.ppm");
+ system("ppmshift $n $tmpdir/junk2.ppm > $tmpdir/junk2a.ppm");
$n = $spline10[$i-10];
- system("ppmmix $n junk1a.ppm junk2a.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1a.ppm $tmpdir/junk2a.ppm > $tmpdir/junk3.ppm");
} else {
my $n = (1-$spline20[$i-10]) * 100;
- system("ppmshift $n junk2.ppm >junk3.ppm");
+ system("ppmshift $n $tmpdir/junk2.ppm > $tmpdir/junk3.ppm");
}
} elsif ($mode eq $RELIEF) {
if ($i == 1) {
- system("ppmrelief junk1.ppm >junk1r.ppm");
+ system("ppmrelief $tmpdir/junk1.ppm >$tmpdir/junk1r.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1r.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1r.ppm junk2r.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1r.ppm $tmpdir/junk2r.ppm >$tmpdir/junk3.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2r.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2r.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
}
if ($i == 10) {
- system("ppmrelief junk2.ppm >junk2r.ppm");
+ system("ppmrelief $tmpdir/junk2.ppm >$tmpdir/junk2r.ppm");
}
} elsif ($mode eq $OIL) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2.ppm | pgmoil >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2.ppm | pgmoil >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o.ppm");
}
} elsif ($mode eq $EDGE) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else {
my $n = $spline10[$i-20];
- system("ppmmix $n junk2o.ppm junk2.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm >$tmpdir/junk3.ppm");
}
if ($i == 10) {
- system("ppmtopgm junk2.ppm | pgmedge >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk2o.ppm");
+ system("ppmtopgm $tmpdir/junk2.ppm | pgmedge >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk2o.ppm");
}
} elsif ($mode eq $BENTLEY) {
if ($i == 1) {
- system("ppmtopgm junk1.ppm | pgmbentley >junko.ppm");
- system("rgb3toppm junko.ppm junko.ppm junko.ppm " .
- ">junk1o.ppm");
+ system("ppmtopgm $tmpdir/junk1.ppm | pgmbentley >$tmpdir/junko.ppm");
+ system("rgb3toppm $tmpdir/junko.ppm $tmpdir/junko.ppm $tmpdir/junko.ppm " .
+ ">$tmpdir/junk1o.ppm");
}
if ($i <= 10) {
my $n = $spline10[$i];
- system("ppmmix $n junk1.ppm junk1o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1.ppm $tmpdir/junk1o.ppm >$tmpdir/junk3.ppm");
} elsif ($i <= 20) {
my $n = $spline10[$i-10];
- system("ppmmix $n junk1o.ppm junk2o.ppm >junk3.ppm");
+ system("ppmmix $n $tmpdir/junk1o.ppm $tmpdir/junk2o.ppm >$tmpdir/junk3.ppm");
} else {
my $n = $spline10[$i-20];
system("ppmmix $n $tmpdir/junk2o.ppm $tmpdir/junk2.ppm " .
Index: netpbm-10.98.2/editor/ppmshadow
===================================================================
--- netpbm-10.98.2.orig/editor/ppmshadow
+++ netpbm-10.98.2/editor/ppmshadow
@@ -194,9 +194,10 @@ my $tmpdir = $ENV{TMPDIR} || "/tmp";
my $ourtmp;
if ($keeptemp) {
- $ourtmp = "$tmpdir/ppmshadow$$";
- mkdir($ourtmp, 0777) or
- die("Unable to create directory for temporary files '$ourtmp");
+ chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
+ if ($? >> 8) {
+ die "Can't create directory for temporary files";
+ }
} else {
$ourtmp = File::Temp::tempdir("$tmpdir/ppmshadowXXXX", CLEANUP=>1);
}