6th group of libpng update, made librsvg & imagemagick part of this group, majot .so up for image, ghostscript, libwmf, netpbm

This commit is contained in:
abveritas 2012-11-01 05:42:49 +00:00
parent 49e8345393
commit 2c39d17701
11 changed files with 148 additions and 507 deletions

View File

@ -1,26 +1,21 @@
# #
# Platform Packages for Chakra, part of chakra-project.org # Platform Packages for Chakra, part of chakra-project.org
# #
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org> # maintainer abveritas@chakra-project.org
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# contributor (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=ghostscript pkgname=ghostscript
pkgver=9.05 pkgver=9.06
pkgrel=1 pkgrel=1
pkgdesc="An interpreter for the PostScript language" pkgdesc="An interpreter for the PostScript language"
arch=('i686' 'x86_64') arch=('x86_64')
license=('GPL3' 'custom') license=('GPL3' 'custom')
depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng' 'libjpeg' 'libtiff' 'lcms') depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng' 'libjpeg' 'libtiff' 'lcms')
makedepends=('gnutls') makedepends=('gnutls')
optdepends=('texlive-core: needed for dvipdf') optdepends=('texlive-core: needed for dvipdf')
url="http://www.ghostscript.com/" url="http://www.ghostscript.com/"
source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2) source=("http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2")
options=('!libtool' '!makeflags') options=('!libtool' '!makeflags')
md5sums=('8bcef1f33ddf8a4d12b2cf8da385c191') md5sums=('46f9ebe40dc52755287b30704270db11')
build() { build() {
cd ${srcdir}/ghostscript-${pkgver} cd ${srcdir}/ghostscript-${pkgver}
@ -41,6 +36,7 @@ build() {
--enable-freetype \ --enable-freetype \
--without-luratech \ --without-luratech \
--disable-compile-inits \ --disable-compile-inits \
--with-system-libtiff \
--disable-gtk --disable-gtk
make make

View File

@ -1,199 +0,0 @@
2010-03-30 Eric Belanger <eric@archlinux.org>
* imagemagick 6.6.0.10-1
* Upstream update
* Removed bootstrapping to fix linking problem (no longer necessary)
* Enabled modules, some depends are now optdepends
2010-02-26 Eric Belanger <eric@archlinux.org>
* imagemagick 6.6.0.0-1
* Upstream update
2010-02-14 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.9.5-1
* Upstream update
2010-01-18 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.9.0-2
* Fixed undefined symbols
2010-01-14 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.9.0-1
* Upstream update
2009-12-12 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.8.5-1
* Upstream update
2009-11-22 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.7.10-1
* Upstream update
2009-11-08 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.7.5-1
* Upstream update
2009-10-14 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.6.10-1
* Upstream update
2009-09-18 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.6.1-1
* Upstream update
2009-09-02 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.5.6-1
* Upstream update
2009-08-05 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.4.8-1
* Upstream update
2009-07-23 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.4.5-1
* Upstream update
2009-06-05 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.3.2-1
* Upstream update
* Removed insecure RPATH (close FS#14843)
2009-05-21 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.2.7-1
* Upstream update
2009-04-29 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.1.9-1
* Upstream update
2009-03-31 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.0.10-1
* Upstream update
2009-03-17 Eric Belanger <eric@archlinux.org>
* imagemagick 6.5.0.1-1
* Upstream update
2009-02-27 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.9.7-1
* Upstream update
2009-02-07 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.9.2-1
* Upstream update
2009-01-30 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.8.10-1
* Upstream update
2008-12-29 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.8.2-1
* Upstream update
2008-12-14 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.7.8-1
* Upstream update
2008-12-05 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.7.0-1
* Upstream update
* Rebuild against heimdal 1.2.1
2008-11-25 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.6.3-1
* Upstream update
2008-11-14 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.5.6-1
* Upstream update
2008-10-26 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.5.0-1
* Upstream update
2008-10-18 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.4.9-1
* Upstream update
2008-10-03 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.4.1-1
* Upstream update
2008-09-06 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.3.6-1
* Upstream update
* Added JPEG2000 support (close FS#10544)
2008-08-19 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.2.10-1
* Upstream update
2008-08-11 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.2.7-1
* Upstream update
* Added bzip2 and libxml2 depends
* Disabled docs
2008-07-18 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.2.4-1
* Upstream update
2008-06-23 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.2.1-1
* Upstream update
* Fixed linking problem (close FS#10574)
2008-05-19 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.1.3-1
* Upstream update
2008-04-30 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.1.0-1
* Upstream update
2008-04-24 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.0.9-1
* Upstream update
2008-03-29 Eric Belanger <eric@archlinux.org>
* imagemagick 6.4.0.2-1
* Upstream update
* Added dvips to delegates list for dvi support (close FS#8914)
* Added ChangeLog

View File

@ -4,42 +4,35 @@
# maintainer abveritas@chakra-project.org # maintainer abveritas@chakra-project.org
pkgname=imagemagick pkgname=imagemagick
pkgver=6.6.6.10 pkgver=6.8.0.3
pkgrel=2 pkgrel=1
pkgdesc="An image viewing/manipulation program" pkgdesc="An image viewing/manipulation program"
arch=('i686' 'x86_64') arch=('x86_64')
url="http://www.imagemagick.org/" url="http://www.imagemagick.org/"
license=('custom') license=('custom')
depends=('libtool' 'lcms' 'lcms2' 'libxt' 'gcc-libs' 'bzip2' 'freetype2' 'fontconfig' depends=('libltdl' 'lcms' 'lcms2' 'libxt' 'gcc-libs' 'bzip2' 'freetype2' 'fontconfig'
'libxext' 'fftw' 'liblqr' 'libwmf' 'librsvg' 'libxml2' ) 'libxext' 'fftw' 'liblqr' 'libwmf' 'librsvg' 'libxml2' 'perl' )
makedepends=('ghostscript' 'openexr' 'jasper') makedepends=('ghostscript' 'openexr' 'jasper')
optdepends=('ghostscript: for Ghostscript support' optdepends=('ghostscript: for Ghostscript support'
'openexr: for OpenEXR support' 'openexr: for OpenEXR support'
'jasper: for JPEG-2000 support') 'jasper: for JPEG-2000 support')
options=('!makeflags' '!docs') options=('!makeflags' '!docs')
#source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \ source=("http://sourceforge.net/projects/imagemagick/files/6.8.0-sources/ImageMagick-6.8.0-3.tar.xz"
source=(http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.6/ImageMagick-6.6.6-10.tar.gz 'perlmagick.rpath.patch')
libpng_mmx_patch_x86_64.patch md5sums=('3b985a05f95768767649820ab21e2060'
perlmagick.rpath.patch) 'ff9974decbfe9846f8e347239d87e4eb')
md5sums=('1eead645376210cfe473ebe89c4a1b89'
'069980fc2590c02aed86420996259302'
'ff9974decbfe9846f8e347239d87e4eb')
build() { build() {
cd ${srcdir}/ImageMagick-${pkgver%.*}-${pkgver##*.} cd ${srcdir}/ImageMagick-${pkgver%.*}-${pkgver##*.}
if [ "${CARCH}" = 'x86_64' ]; then patch -p0 -i "${srcdir}/perlmagick.rpath.patch"
patch -p1 < ../libpng_mmx_patch_x86_64.patch
fi
patch -p0 < ../perlmagick.rpath.patch
./configure --prefix=/usr --with-modules --disable-static \ ./configure --prefix=/usr --with-modules --disable-static \
--enable-openmp --with-x --with-wmf --with-openexr --with-xml \ --enable-openmp --with-x --with-wmf --with-openexr --with-xml \
--with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \ --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \ --with-perl --with-perl-options="INSTALLDIRS=vendor" \
--without-gvc --without-djvu --without-autotrace --with-jp2 \ --without-gvc --without-djvu --without-autotrace --with-jp2 \
--without-jbig --without-fpx --without-dps --without-jbig --without-fpx --without-dps --without-fftw
make make
} }

View File

@ -1,26 +1,36 @@
# $Id: PKGBUILD 79310 2010-05-02 17:40:37Z ibiru $ # Platform Packages for Chakra, part of chakra-project.org
# Maintainer: Jan de Groot <jgc@archlinux.org> #
# maintainer abveritas@chakra-project.org
pkgname=librsvg pkgname=librsvg
pkgver=2.32.1 pkgver=2.36.4
pkgrel=2 pkgrel=1
pkgdesc="SAX-based renderer for SVG files into a GdkPixbuf" pkgdesc="SAX-based renderer for SVG files into a GdkPixbuf"
arch=(i686 x86_64) arch=('x86_64')
license=('LGPL') license=('LGPL')
depends=('gdk-pixbuf2' 'pango' 'libcroco') depends=('gdk-pixbuf2' 'pango' 'libcroco')
makedepends=('intltool') makedepends=('intltool' 'gobject-introspection')
optdepends=('python: rsvg commandline utility') optdepends=('python: rsvg commandline utility')
options=('!libtool') options=('!libtool')
url="http://librsvg.sourceforge.net/" url="http://librsvg.sourceforge.net/"
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2) source=("http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.36/${pkgname}-${pkgver}.tar.xz")
install=librsvg.install install=librsvg.install
sha256sums=('91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334') sha256sums=('1021935204798f4f0ad3004a09b583668ea94a48593461b147fdcff68a18e6c2')
build() { build() {
cd "${srcdir}/${pkgname}-${pkgver}" cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --libexecdir=/usr/lib/${pkgname} \
--with-croco --disable-static \ ./configure --prefix=/usr \
--with-svgz --disable-gtk-theme || return 1 --libexecdir=/usr/lib/${pkgname} \
make || return 1 --with-croco \
make DESTDIR="${pkgdir}" install || return 1 --disable-static \
--with-svgz \
--disable-gtk-theme
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
} }

View File

@ -1,5 +1,5 @@
post_install() { post_install() {
usr/bin/gdk-pixbuf-query-loaders --update-cache gdk-pixbuf-query-loaders --update-cache
} }
post_upgrade() { post_upgrade() {

View File

@ -1,29 +1,29 @@
# #
# Platform Packages for Chakra, part of chakra-project.org # Platform Packages for Chakra, part of chakra-project.org
# #
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org> # maintainer abveritas[at]chakra-project[dot]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=libwmf pkgname=libwmf
pkgver=0.2.8.4 pkgver=0.2.8.4
pkgrel=10 pkgrel=11
pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)." pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)."
arch=(i686 x86_64) arch=('x86_64')
url="http://wvware.sourceforge.net/libwmf.html" url="http://wvware.sourceforge.net/libwmf.html"
license=("LGPL") license=("LGPL")
depends=('libpng>=1.4.0' 'libx11' 'freetype2' 'libjpeg>=8' 'gsfonts' 'expat>=2.0') depends=('libpng>=1.5.0' 'libx11' 'freetype2' 'libjpeg-turbo' 'gsfonts' 'expat>=2.0')
makedepends=('pkgconfig') makedepends=('pkgconfig')
optdepends=('gdk-pixbuf2: for pixbuf loader, used in .install') optdepends=('gdk-pixbuf2: for pixbuf loader, used in .install')
options=(!libtool) options=(!libtool)
install=libwmf.install install=libwmf.install
source=(http://downloads.sourceforge.net/sourceforge/wvware/${pkgname}-${pkgver}.tar.gz source=("http://downloads.sourceforge.net/sourceforge/wvware/${pkgname}-${pkgver}.tar.gz"
libpng14.patch) 'libwmf-0.2.8.4-libpng-1.5.patch')
md5sums=('d1177739bf1ceb07f57421f0cee191e0' md5sums=('d1177739bf1ceb07f57421f0cee191e0'
'33d3c07a1be9f99fd88de220930c5550') '21bab2d951aef8e72805eacee950cb09')
build() { build() {
cd ${srcdir}/${pkgname}-${pkgver} cd ${srcdir}/${pkgname}-${pkgver}
patch -Np1 -i "${srcdir}/libpng14.patch" patch -p1 -i "${srcdir}/libwmf-0.2.8.4-libpng-1.5.patch"
sed -i -e 's/src include fonts doc/src include fonts/g' Makefile.in sed -i -e 's/src include fonts doc/src include fonts/g' Makefile.in
./configure --prefix=/usr \ ./configure --prefix=/usr \
--with-gsfontdir=/usr/share/fonts/Type1 \ --with-gsfontdir=/usr/share/fonts/Type1 \
@ -35,6 +35,7 @@ build() {
package() { package() {
cd "${srcdir}/${pkgname}-${pkgver}" cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR=${pkgdir} install make DESTDIR=${pkgdir} install
#Remove fonts, these are in gsfonts #Remove fonts, these are in gsfonts
rm -rf ${pkgdir}/usr/share/fonts rm -rf ${pkgdir}/usr/share/fonts

View File

@ -1,12 +0,0 @@
diff -Nur libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c libwmf-0.2.8.4/src/extra/gd/gd_png.c
--- libwmf-0.2.8.4.orig/src/extra/gd/gd_png.c 2005-07-27 23:35:06.000000000 +0300
+++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2010-01-17 01:33:58.000000000 +0200
@@ -136,7 +136,7 @@
/* first do a quick check that the file really is a PNG image; could
* have used slightly more general png_sig_cmp() function instead */
gdGetBuf (sig, 8, infile);
- if (!png_check_sig (sig, 8))
+ if (png_sig_cmp (sig, 0, 8))
return NULL; /* bad signature */
#ifndef PNG_SETJMP_NOT_SUPPORTED

View File

@ -0,0 +1,12 @@
diff -urN libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h libwmf-0.2.8.4/src/ipa/ipa/bmp.h
--- libwmf-0.2.8.4.old/src/ipa/ipa/bmp.h 2011-05-23 19:14:23.000000000 +0200
+++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2011-05-23 19:15:11.000000000 +0200
@@ -66,7 +66,7 @@
return;
}
- if (setjmp (png_ptr->jmpbuf))
+ if (setjmp(png_jmpbuf(png_ptr)))
{ WMF_DEBUG (API,"Failed to write bitmap as PNG! (setjmp failed)");
png_destroy_write_struct (&png_ptr,&info_ptr);
wmf_free (API,buffer);

View File

@ -1,36 +1,34 @@
# Platform Packages for Chakra, part of chakra-project.org
# #
# Chakra Packages for Chakra, part of chakra-project.org # maintainer abveritas@chakra-project.org
#
# contributor (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=netpbm pkgname=netpbm
pkgver=10.47.24 pkgver=10.57.1
pkgrel=1 pkgrel=1
pkgdesc="A toolkit for manipulation of graphic images" pkgdesc="A toolkit for manipulation of graphic images"
arch=('i686' 'x86_64') arch=('x86_64')
license=('custom' 'BSD' 'GPL' 'LGPL') license=('custom' 'BSD' 'GPL' 'LGPL')
url="http://netpbm.sourceforge.net/" url="http://netpbm.sourceforge.net/"
depends=('perl' 'libjpeg' 'libpng' 'libtiff' 'libxml2') depends=('perl' 'libjpeg-turbo' 'libpng' 'libtiff' 'libxml2')
makedepends=('python2') makedepends=('python2')
options=('!makeflags') options=('!makeflags')
source=(ftp://ftp.archlinux.org/other/netpbm/${pkgname}-${pkgver}.tar.gz source=(ftp://ftp.archlinux.org/other/netpbm/${pkgname}-${pkgver}.tar.gz \
ftp://ftp.archlinux.org/other/netpbm/netpbm-doc-22Feb2009.tar.xz ftp://ftp.archlinux.org/other/netpbm/netpbm-doc-22Feb2009.tar.xz \
libpng-1.4.patch netpbm-CAN-2005-2471.patch netpbm-CAN-2005-2471.patch netpbm-security-code.patch netpbm-security-scripts.patch)
netpbm-security-code.patch netpbm-security-scripts.patch) sha1sums=('cd0b99333faf994a680d77c5d217034df35ebd4e'
md5sums=('debf962e9a5531fd3e57143d38165eac' '48efce0093c5f242bce3072958fe88c3' 'dfeba9f9a5fe987d64db0aadb5ca8c1b20fcead2'
'6a8319e77f2d41881ee11c86b78c51d0' '07ee863e6f951250e8d0a08243c828c7' 'b79cf9d42488fea065ba16262ed97694c47af08d'
'fac4c9bedff9d90ac5a66e93d8c2eb33' 'cbb689129c82d16360d7f840b86789c7') '4cd5b94a24886ecae3973c5ae104d8298fe5a1f5'
'2ac31f714121e08e47af9337c6bbaab3cbfc5c75')
build() { build() {
cd "${srcdir}/stable" cd "${srcdir}/advanced"
patch -p1 < ../libpng-1.4.patch
patch -p1 < ../netpbm-CAN-2005-2471.patch patch -p1 < ../netpbm-CAN-2005-2471.patch
patch -p1 < ../netpbm-security-code.patch patch -p1 < ../netpbm-security-code.patch
patch -p1 < ../netpbm-security-scripts.patch patch -p1 < ../netpbm-security-scripts.patch
sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' buildtools/makeman
sed -i 's|@python|@python2|' buildtools/manpage.mk
cp config.mk.in config.mk cp config.mk.in config.mk
[ "${CARCH}" = 'x86_64' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk [ "${CARCH}" = 'x86_64' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
@ -40,42 +38,33 @@ build() {
echo 'PNGLIB = libpng.so' >> config.mk echo 'PNGLIB = libpng.so' >> config.mk
echo 'ZLIB = libz.so' >> config.mk echo 'ZLIB = libz.so' >> config.mk
sed -i 's|PKGMANDIR = man|PKGMANDIR = share/man|' common.mk
sed -i 's|misc|share/netpbm|' common.mk sed -i 's|misc|share/netpbm|' common.mk
sed -i 's|/link|/lib|' lib/Makefile sed -i 's|/link|/lib|' lib/Makefile
sed -i 's|install.manweb install.man|install.man|' GNUmakefile sed -i 's|install.manweb install.man|install.man|' GNUmakefile
sed -i '/MANUALS1 = $(BINARIES) $(SCRIPTS)/a\
MANUALS1 += bmptoppm faxformat gemtopbm jpegtopnm mrf netpbm pamtotiff pamx pgmedge \\\
pgmnorm pgmoil pgmslice pnmarith pnmcut pnmdepth pnmenlarge pnmfile \\\
pnminterp pnmnoraw pnmscale pnmsplit pnmtofits pnmtojpeg pnmtopnm pnmtops \\\
pnmtotiff pnmtotiffcmyk ppmnorm ppmsvgalib ppmtojpeg ppmtotga ppmtouil \\\
tifftopnm vidtoppm \
MANUALS3 += libnetpbm_image libnetpbm_ug libpbm libpgm libpm libpnm libppm libsystem libtmpfile \
MANUALS5 += extendedopacity pfm' common.mk
make make
# Generating useful man pages with html doc # Generating useful man pages with html doc
cd "${srcdir}/doc" cd "${srcdir}/doc"
make MAKEMAN="${srcdir}/stable/buildtools/makeman" USERGUIDE=. \ make MAKEMAN="${srcdir}/advanced/buildtools/makeman" USERGUIDE=. \
-f "${srcdir}/stable/buildtools/manpage.mk" manpages -f "${srcdir}/advanced/buildtools/manpage.mk" manpages
} }
package() { package() {
cd "${srcdir}/stable" cd "${srcdir}/advanced"
make pkgdir="${pkgdir}/usr" install-run install-dev make pkgdir="${pkgdir}/usr" PKGMANDIR=share/man install-run install-dev
# Removing dummy man pages # Removing dummy man pages
rm "${pkgdir}"/usr/share/man/man{1,3,5}/* rm "${pkgdir}"/usr/share/man/man{1,3,5}/*
cd "${srcdir}/doc" cd "${srcdir}/doc"
make MAKEMAN="${srcdir}/stable/buildtools/makeman" MANDIR="${pkgdir}/usr/share/man" \ make MAKEMAN="${srcdir}/advanced/buildtools/makeman" MANDIR="${pkgdir}/usr/share/man" \
-f "${srcdir}/stable/buildtools/manpage.mk" installman -f "${srcdir}/advanced/buildtools/manpage.mk" installman
# Replace obsolete utility # Replace obsolete utility
echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "${pkgdir}/usr/bin/pgmtopbm" echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "${pkgdir}/usr/bin/pgmtopbm"
# Licensing. Note that each program in the package has a separate license. # Licensing. Note that each program in the package has a separate license.
install -D -m644 "${srcdir}/stable/doc/copyright_summary" \ install -D -m644 "${srcdir}/advanced/doc/copyright_summary" \
"${pkgdir}/usr/share/licenses/${pkgname}/copyright_summary.txt" "${pkgdir}/usr/share/licenses/${pkgname}/copyright_summary.txt"
} }

View File

@ -1,9 +1,9 @@
--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200 --- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200
+++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200 +++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200
@@ -711,11 +711,11 @@ @@ -711,11 +711,11 @@
"'%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'",
ghostscriptProg, arg0, ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, "-q", "-dNOPAUSE", deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
"-q", "-dNOPAUSE",
- "-dSAFER", "-"); - "-dSAFER", "-");
+ "-dPARANOIDSAFER", "-"); + "-dPARANOIDSAFER", "-");
} }

View File

@ -22,15 +22,15 @@ diff -up netpbm-10.47.04/analyzer/pgmtexture.c.security netpbm-10.47.04/analyzer
if (m == NULL) if (m == NULL)
pm_error("Unable to allocate memory for a matrix."); pm_error("Unable to allocate memory for a matrix.");
@@ -102,6 +108,9 @@ matrix (int nrl, int nrh, int ncl, int n @@ -102,6 +108,9 @@ matrix (int nrl, int nrh, int ncl, int n
m -= ncl; assert (nch >= ncl);
/* allocate rows and set pointers to them */ /* allocate rows and set pointers to them */
+ if(nch < ncl) + if(nch < ncl)
+ pm_error("assert: h < l"); + pm_error("assert: h < l");
+ overflow_add(nch - ncl, 1); + overflow_add(nch - ncl, 1);
for (i = nrl; i <= nrh; i++) for (i = nrl; i <= nrh; ++i) {
{
MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1)); MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1));
if (m[i] == NULL)
diff -up netpbm-10.47.04/converter/other/gemtopnm.c.security netpbm-10.47.04/converter/other/gemtopnm.c diff -up netpbm-10.47.04/converter/other/gemtopnm.c.security netpbm-10.47.04/converter/other/gemtopnm.c
--- netpbm-10.47.04/converter/other/gemtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 --- netpbm-10.47.04/converter/other/gemtopnm.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/gemtopnm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/other/gemtopnm.c 2009-10-21 15:09:33.000000000 +0200
@ -118,46 +118,6 @@ diff -up netpbm-10.47.04/converter/other/pnmtojpeg.c.security netpbm-10.47.04/co
buffer = (*cinfo_p->mem->alloc_sarray) buffer = (*cinfo_p->mem->alloc_sarray)
((j_common_ptr) cinfo_p, JPOOL_IMAGE, ((j_common_ptr) cinfo_p, JPOOL_IMAGE,
(unsigned int) cinfo_p->image_width * cinfo_p->input_components, (unsigned int) cinfo_p->image_width * cinfo_p->input_components,
diff -up netpbm-10.47.04/converter/other/pnmtops.c.security netpbm-10.47.04/converter/other/pnmtops.c
--- netpbm-10.47.04/converter/other/pnmtops.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/pnmtops.c 2009-10-21 15:09:33.000000000 +0200
@@ -186,16 +186,20 @@ parseCommandLine(int argc, char ** argv,
cmdlineP->canturn = !noturn;
cmdlineP->showpage = !noshowpage;
+ overflow2(width, 72);
cmdlineP->width = width * 72;
+ overflow2(height, 72);
cmdlineP->height = height * 72;
- if (imagewidthSpec)
+ if (imagewidthSpec) {
+ overflow2(imagewidth, 72);
cmdlineP->imagewidth = imagewidth * 72;
- else
+ } else
cmdlineP->imagewidth = 0;
- if (imageheightSpec)
+ if (imageheightSpec) {
+ overflow2(imageheight, 72);
cmdlineP->imageheight = imageheight * 72;
- else
+ } else
cmdlineP->imageheight = 0;
if (!cmdlineP->psfilter &&
diff -up netpbm-10.47.04/converter/other/pnmtorle.c.security netpbm-10.47.04/converter/other/pnmtorle.c
--- netpbm-10.47.04/converter/other/pnmtorle.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/pnmtorle.c 2009-10-21 15:09:33.000000000 +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.47.04/converter/other/pnmtosgi.c.security netpbm-10.47.04/converter/other/pnmtosgi.c diff -up netpbm-10.47.04/converter/other/pnmtosgi.c.security netpbm-10.47.04/converter/other/pnmtosgi.c
--- netpbm-10.47.04/converter/other/pnmtosgi.c.security 2009-10-21 13:39:06.000000000 +0200 --- netpbm-10.47.04/converter/other/pnmtosgi.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/pnmtosgi.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/other/pnmtosgi.c 2009-10-21 15:09:33.000000000 +0200
@ -216,25 +176,22 @@ diff -up netpbm-10.47.04/converter/other/rletopnm.c.security netpbm-10.47.04/con
diff -up netpbm-10.47.04/converter/other/sgitopnm.c.security netpbm-10.47.04/converter/other/sgitopnm.c diff -up netpbm-10.47.04/converter/other/sgitopnm.c.security netpbm-10.47.04/converter/other/sgitopnm.c
--- netpbm-10.47.04/converter/other/sgitopnm.c.security 2009-10-21 13:39:06.000000000 +0200 --- netpbm-10.47.04/converter/other/sgitopnm.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/sgitopnm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/other/sgitopnm.c 2009-10-21 15:09:33.000000000 +0200
@@ -252,13 +252,17 @@ read_channels(ifp, head, table, func, oc @@ -252,10 +252,14 @@ read_channels(ifp, head, table, func, oc
MALLOCARRAY_NOFAIL(image, head->ysize);
if (ochan < 0) { } else {
maxchannel = (head->zsize < 3) ? head->zsize : 3; maxchannel = MIN(3, head->zsize);
+ overflow2(head->ysize, maxchannel); + overflow2(head->ysize, maxchannel);
MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel); MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel);
} else {
maxchannel = ochan + 1;
MALLOCARRAY_NOFAIL(image, head->ysize);
} }
- if ( table ) - if (table)
+ if ( table ) { + if (table) {
+ overflow2(head->xsize, 2); + overflow2(head->xsize, 2);
+ overflow_add(head->xsize*2, 2); + overflow_add(head->xsize*2, 2);
MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize)); MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize));
+ } + }
for( channel = 0; channel < maxchannel; channel++ ) { for(channel = 0; channel < maxchannel; ++channel) {
#ifdef DEBUG unsigned int row;
diff -up netpbm-10.47.04/converter/other/sirtopnm.c.security netpbm-10.47.04/converter/other/sirtopnm.c diff -up netpbm-10.47.04/converter/other/sirtopnm.c.security netpbm-10.47.04/converter/other/sirtopnm.c
--- netpbm-10.47.04/converter/other/sirtopnm.c.security 2009-10-21 13:39:06.000000000 +0200 --- netpbm-10.47.04/converter/other/sirtopnm.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/other/sirtopnm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/other/sirtopnm.c 2009-10-21 15:09:33.000000000 +0200
@ -282,9 +239,9 @@ diff -up netpbm-10.47.04/converter/other/xwdtopnm.c.security netpbm-10.47.04/con
*padrightP = *padrightP =
h11FixedP->bytes_per_line * 8 - h11FixedP->bytes_per_line * 8 -
h11FixedP->pixmap_width * h11FixedP->bits_per_pixel; h11FixedP->pixmap_width * h11FixedP->bits_per_pixel;
diff -up netpbm-10.47.04/converter/pbm/icontopbm.c.security netpbm-10.47.04/converter/pbm/icontopbm.c diff -up netpbm-10.47.04/converter/other/sunicontopnm.c.security netpbm-10.47.04/converter/other/sunicontopnm.c
--- netpbm-10.47.04/converter/pbm/icontopbm.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/other/sunicontopnm.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/icontopbm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/other/sunicontopnm.c 2009-10-21 15:09:33.000000000 +0200
@@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
*/ */
@ -294,17 +251,17 @@ diff -up netpbm-10.47.04/converter/pbm/icontopbm.c.security netpbm-10.47.04/conv
#include "nstring.h" #include "nstring.h"
#include "pbm.h" #include "pbm.h"
@@ -87,6 +88,11 @@ ReadIconFile(FILE * const @@ -87,6 +88,11 @@ ReadIconFile(FILE * const
if ( *heightP <= 0 ) if (*heightP <= 0)
pm_error( "invalid height (must be positive): %d", *heightP ); pm_error("invalid height (must be positive): %d", *heightP);
+ if ( *widthP > INT_MAX - 16 || *widthP < 0) + if ( *widthP > INT_MAX - 16 || *widthP < 0)
+ pm_error( "invalid width: %d", *widthP); + pm_error( "invalid width: %d", *widthP);
+ +
+ overflow2(*widthP + 16, *heightP); + overflow2(*widthP + 16, *heightP);
+ +
data_length = BitmapSize( *widthP, *heightP ); }
*dataP = (short unsigned int *) malloc( data_length );
if ( *dataP == NULL )
diff -up netpbm-10.47.04/converter/pbm/mdatopbm.c.security netpbm-10.47.04/converter/pbm/mdatopbm.c diff -up netpbm-10.47.04/converter/pbm/mdatopbm.c.security netpbm-10.47.04/converter/pbm/mdatopbm.c
--- netpbm-10.47.04/converter/pbm/mdatopbm.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/mdatopbm.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/mdatopbm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/mdatopbm.c 2009-10-21 15:09:33.000000000 +0200
@ -367,22 +324,6 @@ diff -up netpbm-10.47.04/converter/pbm/pbmto4425.c.security netpbm-10.47.04/conv
if(vmap == NULL) if(vmap == NULL)
{ {
pm_error( "Cannot allocate memory" ); pm_error( "Cannot allocate memory" );
diff -up netpbm-10.47.04/converter/pbm/pbmtoascii.c.security netpbm-10.47.04/converter/pbm/pbmtoascii.c
--- netpbm-10.47.04/converter/pbm/pbmtoascii.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtoascii.c 2009-10-21 15:09:33.000000000 +0200
@@ -115,9 +115,11 @@ char* argv[];
pm_usage( usage );
pbm_readpbminit( ifp, &cols, &rows, &format );
+ overflow_add(cols, gridx);
ccols = ( cols + gridx - 1 ) / gridx;
bitrow = pbm_allocrow( cols );
sig = (int*) pm_allocrow( ccols, sizeof(int) );
+ overflow_add(ccols, 1);
line = (char*) pm_allocrow( ccols + 1, sizeof(char) );
for ( row = 0; row < rows; row += gridy )
diff -up netpbm-10.47.04/converter/pbm/pbmtocmuwm.c.security netpbm-10.47.04/converter/pbm/pbmtocmuwm.c
diff -up netpbm-10.47.04/converter/pbm/pbmtogem.c.security netpbm-10.47.04/converter/pbm/pbmtogem.c diff -up netpbm-10.47.04/converter/pbm/pbmtogem.c.security netpbm-10.47.04/converter/pbm/pbmtogem.c
--- netpbm-10.47.04/converter/pbm/pbmtogem.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/pbmtogem.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtogem.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/pbmtogem.c 2009-10-21 15:09:33.000000000 +0200
@ -405,17 +346,6 @@ diff -up netpbm-10.47.04/converter/pbm/pbmtogo.c.security netpbm-10.47.04/conver
rucols = ( cols + 7 ) / 8; rucols = ( cols + 7 ) / 8;
bytesperrow = rucols; /* GraphOn uses bytes */ bytesperrow = rucols; /* GraphOn uses bytes */
rucols = rucols * 8; rucols = rucols * 8;
diff -up netpbm-10.47.04/converter/pbm/pbmtoicon.c.security netpbm-10.47.04/converter/pbm/pbmtoicon.c
--- netpbm-10.47.04/converter/pbm/pbmtoicon.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtoicon.c 2009-10-21 15:38:55.000000000 +0200
@@ -114,6 +114,7 @@ writeIcon(FILE * const ifP,
unsigned char * bitrow;
unsigned int row;
+ overflow_add(cols, 15);
bitbuffer = pbm_allocrow_packed(cols + wordintSize);
bitrow = &bitbuffer[1];
bitbuffer[0] = 0;
diff -up netpbm-10.47.04/converter/pbm/pbmtolj.c.security netpbm-10.47.04/converter/pbm/pbmtolj.c diff -up netpbm-10.47.04/converter/pbm/pbmtolj.c.security netpbm-10.47.04/converter/pbm/pbmtolj.c
--- netpbm-10.47.04/converter/pbm/pbmtolj.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/pbmtolj.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtolj.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/pbmtolj.c 2009-10-21 15:09:33.000000000 +0200
@ -511,13 +441,13 @@ diff -up netpbm-10.47.04/converter/pbm/pbmtoybm.c.security netpbm-10.47.04/conve
--- netpbm-10.47.04/converter/pbm/pbmtoybm.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/pbmtoybm.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtoybm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/pbmtoybm.c 2009-10-21 15:09:33.000000000 +0200
@@ -45,6 +45,7 @@ main( argc, argv ) @@ -45,6 +45,7 @@ main( argc, argv )
bitrow = pbm_allocrow( cols ); bitrow = pbm_allocrow(cols);
/* Compute padding to round cols up to the nearest multiple of 16. */ /* Compute padding to round cols up to the nearest multiple of 16. */
+ overflow_add(cols, 16); + overflow_add(cols, 16);
padright = ( ( cols + 15 ) / 16 ) * 16 - cols; padright = ((cols + 15) / 16) * 16 - cols;
putinit( cols, rows ); putinit(cols, rows);
diff -up netpbm-10.47.04/converter/pbm/pbmtozinc.c.security netpbm-10.47.04/converter/pbm/pbmtozinc.c diff -up netpbm-10.47.04/converter/pbm/pbmtozinc.c.security netpbm-10.47.04/converter/pbm/pbmtozinc.c
--- netpbm-10.47.04/converter/pbm/pbmtozinc.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/pbmtozinc.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/pbmtozinc.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/pbmtozinc.c 2009-10-21 15:09:33.000000000 +0200
@ -565,14 +495,14 @@ diff -up netpbm-10.47.04/converter/pbm/thinkjettopbm.l.security netpbm-10.47.04/
diff -up netpbm-10.47.04/converter/pbm/ybmtopbm.c.security netpbm-10.47.04/converter/pbm/ybmtopbm.c diff -up netpbm-10.47.04/converter/pbm/ybmtopbm.c.security netpbm-10.47.04/converter/pbm/ybmtopbm.c
--- netpbm-10.47.04/converter/pbm/ybmtopbm.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/pbm/ybmtopbm.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/pbm/ybmtopbm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pbm/ybmtopbm.c 2009-10-21 15:09:33.000000000 +0200
@@ -88,6 +88,7 @@ getinit( file, colsP, rowsP, depthP, pad @@ -88,4 +88,5 @@ getinit( file, colsP, rowsP, depthP, pad
pm_error( "EOF / read error" ); pm_error("EOF / read error");
*depthP = 1; *depthP = 1;
+ overflow_add(*colsP, 15); + overflow_add(*colsP, 15);
*padrightP = ( ( *colsP + 15 ) / 16 ) * 16 - *colsP; *padrightP = ((*colsP + 15) / 16) * 16 - *colsP;
bitsperitem = 0; }
}
diff -up netpbm-10.47.04/converter/pgm/lispmtopgm.c.security netpbm-10.47.04/converter/pgm/lispmtopgm.c diff -up netpbm-10.47.04/converter/pgm/lispmtopgm.c.security netpbm-10.47.04/converter/pgm/lispmtopgm.c
--- netpbm-10.47.04/converter/pgm/lispmtopgm.c.security 2009-10-21 13:39:06.000000000 +0200 --- netpbm-10.47.04/converter/pgm/lispmtopgm.c.security 2009-10-21 13:39:06.000000000 +0200
+++ netpbm-10.47.04/converter/pgm/lispmtopgm.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/pgm/lispmtopgm.c 2009-10-21 15:09:33.000000000 +0200
@ -707,7 +637,7 @@ diff -up netpbm-10.47.04/converter/ppm/Makefile.security netpbm-10.47.04/convert
leaftoppm mtvtoppm neotoppm \ leaftoppm mtvtoppm neotoppm \
- pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \ - pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \
+ pcxtoppm pc1toppm pi1toppm pjtoppm \ + pcxtoppm pc1toppm pi1toppm pjtoppm \
ppmtoacad ppmtoarbtxt \ ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \
ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \
ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \
diff -up netpbm-10.47.04/converter/ppm/pcxtoppm.c.security netpbm-10.47.04/converter/ppm/pcxtoppm.c diff -up netpbm-10.47.04/converter/ppm/pcxtoppm.c.security netpbm-10.47.04/converter/ppm/pcxtoppm.c
@ -894,14 +824,14 @@ diff -up netpbm-10.47.04/converter/ppm/ppmtopict.c.security netpbm-10.47.04/conv
--- netpbm-10.47.04/converter/ppm/ppmtopict.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/ppm/ppmtopict.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/ppm/ppmtopict.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/ppm/ppmtopict.c 2009-10-21 15:09:33.000000000 +0200
@@ -245,6 +245,8 @@ char *argv[]; @@ -245,6 +245,8 @@ char *argv[];
putShort(stdout, 0); /* mode */ putShort(stdout, 0); /* mode */
/* Finally, write out the data. */ /* Finally, write out the data. */
+ overflow_add(cols/MAX_COUNT, 1); + overflow_add(cols/MAX_COUNT, 1);
+ overflow_add(cols, cols/MAX_COUNT+1); + overflow_add(cols, cols/MAX_COUNT+1);
packed = (char*) malloc((unsigned)(cols+cols/MAX_COUNT+1)); packed = malloc((unsigned)(cols+cols/MAX_COUNT+1));
oc = 0; for (row = 0, oc = 0; row < rows; row++)
for (row = 0; row < rows; row++) oc += putRow(stdout, row, cols, pixels[row], packed);
diff -up netpbm-10.47.04/converter/ppm/ppmtopj.c.security netpbm-10.47.04/converter/ppm/ppmtopj.c diff -up netpbm-10.47.04/converter/ppm/ppmtopj.c.security netpbm-10.47.04/converter/ppm/ppmtopj.c
--- netpbm-10.47.04/converter/ppm/ppmtopj.c.security 2009-10-21 13:39:10.000000000 +0200 --- netpbm-10.47.04/converter/ppm/ppmtopj.c.security 2009-10-21 13:39:10.000000000 +0200
+++ netpbm-10.47.04/converter/ppm/ppmtopj.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/converter/ppm/ppmtopj.c 2009-10-21 15:09:33.000000000 +0200
@ -1106,17 +1036,6 @@ diff -up netpbm-10.47.04/editor/pamcut.c.security netpbm-10.47.04/editor/pamcut.
outpam.width = rightcol - leftcol + 1; outpam.width = rightcol - leftcol + 1;
outpam.height = bottomrow - toprow + 1; outpam.height = bottomrow - toprow + 1;
diff -up netpbm-10.47.04/editor/pbmpscale.c.security netpbm-10.47.04/editor/pbmpscale.c
--- netpbm-10.47.04/editor/pbmpscale.c.security 2009-10-21 13:38:57.000000000 +0200
+++ netpbm-10.47.04/editor/pbmpscale.c 2009-10-21 15:27:21.000000000 +0200
@@ -110,6 +110,7 @@ main(int argc, char ** argv) {
inrow[0] = inrow[1] = inrow[2] = NULL;
pbm_readpbminit(ifP, &columns, &rows, &format) ;
+ overflow2(columns, scale);
outrow = pbm_allocrow(columns*scale) ;
MALLOCARRAY(flags, columns);
if (flags == NULL)
diff -up netpbm-10.47.04/editor/pbmreduce.c.security netpbm-10.47.04/editor/pbmreduce.c diff -up netpbm-10.47.04/editor/pbmreduce.c.security netpbm-10.47.04/editor/pbmreduce.c
--- netpbm-10.47.04/editor/pbmreduce.c.security 2009-10-21 13:38:57.000000000 +0200 --- netpbm-10.47.04/editor/pbmreduce.c.security 2009-10-21 13:38:57.000000000 +0200
+++ netpbm-10.47.04/editor/pbmreduce.c 2009-10-21 15:26:13.000000000 +0200 +++ netpbm-10.47.04/editor/pbmreduce.c 2009-10-21 15:26:13.000000000 +0200
@ -1249,29 +1168,6 @@ diff -up netpbm-10.47.04/editor/pnmshear.c.security netpbm-10.47.04/editor/pnmsh
newcols = rows * shearfac + cols + 0.999999; newcols = rows * shearfac + cols + 0.999999;
pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0); pnm_writepnminit(stdout, newcols, rows, newmaxval, newformat, 0);
diff -up netpbm-10.47.04/editor/ppmdither.c.security netpbm-10.47.04/editor/ppmdither.c
--- netpbm-10.47.04/editor/ppmdither.c.security 2009-10-21 13:38:57.000000000 +0200
+++ netpbm-10.47.04/editor/ppmdither.c 2009-10-21 15:09:34.000000000 +0200
@@ -111,6 +111,9 @@ dith_matrix(unsigned int const dith_dim)
(dith_dim * sizeof(int *)) + /* pointers */
(dith_dim * dith_dim * sizeof(int)); /* data */
+ overflow2(dith_dim, sizeof(int *));
+ overflow3(dith_dim, dith_dim, sizeof(int));
+ overflow_add(dith_dim * sizeof(int *), dith_dim * dith_dim * sizeof(int));
dith_mat = (unsigned int **) malloc(dith_mat_sz);
if (dith_mat == NULL)
@@ -165,7 +168,8 @@ dith_setup(const unsigned int dith_power
if (dith_nb < 2)
pm_error("too few shades for blue, minimum of 2");
- MALLOCARRAY(*colormapP, dith_nr * dith_ng * dith_nb);
+ overflow2(dith_nr, dith_ng);
+ *colormapP = malloc3(dith_nr * dith_ng, dith_nb, sizeof(pixel));
if (*colormapP == NULL)
pm_error("Unable to allocate space for the color lookup table "
"(%d by %d by %d pixels).", dith_nr, dith_ng, dith_nb);
diff -up netpbm-10.47.04/editor/specialty/pamoil.c.security netpbm-10.47.04/editor/specialty/pamoil.c diff -up netpbm-10.47.04/editor/specialty/pamoil.c.security netpbm-10.47.04/editor/specialty/pamoil.c
--- netpbm-10.47.04/editor/specialty/pamoil.c.security 2009-10-21 13:38:56.000000000 +0200 --- netpbm-10.47.04/editor/specialty/pamoil.c.security 2009-10-21 13:38:56.000000000 +0200
+++ netpbm-10.47.04/editor/specialty/pamoil.c 2009-10-21 15:09:33.000000000 +0200 +++ netpbm-10.47.04/editor/specialty/pamoil.c 2009-10-21 15:09:33.000000000 +0200
@ -1283,19 +1179,6 @@ diff -up netpbm-10.47.04/editor/specialty/pamoil.c.security netpbm-10.47.04/edit
MALLOCARRAY(hist, inpam.maxval + 1); MALLOCARRAY(hist, inpam.maxval + 1);
if (hist == NULL) if (hist == NULL)
pm_error("Unable to allocate memory for histogram."); pm_error("Unable to allocate memory for histogram.");
diff -up netpbm-10.47.04/generator/pbmpage.c.security netpbm-10.47.04/generator/pbmpage.c
--- netpbm-10.47.04/generator/pbmpage.c.security 2009-10-21 13:38:57.000000000 +0200
+++ netpbm-10.47.04/generator/pbmpage.c 2009-10-21 15:09:34.000000000 +0200
@@ -170,6 +170,9 @@ outputPbm(FILE * const file,
/* We round the allocated row space up to a multiple of 8 so the ugly
fast code below can work.
*/
+
+ overflow_add(bitmap.Width, 7);
+
pbmrow = pbm_allocrow(((bitmap.Width+7)/8)*8);
bitmap_cursor = 0;
diff -up netpbm-10.47.04/generator/pbmtext.c.security netpbm-10.47.04/generator/pbmtext.c diff -up netpbm-10.47.04/generator/pbmtext.c.security netpbm-10.47.04/generator/pbmtext.c
--- netpbm-10.47.04/generator/pbmtext.c.security 2009-10-21 13:38:57.000000000 +0200 --- netpbm-10.47.04/generator/pbmtext.c.security 2009-10-21 13:38:57.000000000 +0200
+++ netpbm-10.47.04/generator/pbmtext.c 2009-10-21 15:23:15.000000000 +0200 +++ netpbm-10.47.04/generator/pbmtext.c 2009-10-21 15:23:15.000000000 +0200
@ -1390,16 +1273,6 @@ diff -up netpbm-10.47.04/lib/libpbm1.c.security netpbm-10.47.04/lib/libpbm1.c
pm_check(file, check_type, need_raster_size, retval_p); pm_check(file, check_type, need_raster_size, retval_p);
} }
} }
diff -up netpbm-10.47.04/lib/libpbmvms.c.security netpbm-10.47.04/lib/libpbmvms.c
--- netpbm-10.47.04/lib/libpbmvms.c.security 2009-10-21 13:39:00.000000000 +0200
+++ netpbm-10.47.04/lib/libpbmvms.c 2009-10-21 15:09:34.000000000 +0200
@@ -1,3 +1,5 @@
+#warning "NOT AUDITED"
+
/***************************************************************************
This file contains library routines needed to build Netpbm for VMS.
However, as of 2000.05.26, when these were split out of libpbm1.c
diff -up netpbm-10.47.04/lib/libpm.c.security netpbm-10.47.04/lib/libpm.c
--- netpbm-10.47.04/lib/libpm.c.security 2009-10-21 13:39:00.000000000 +0200 --- netpbm-10.47.04/lib/libpm.c.security 2009-10-21 13:39:00.000000000 +0200
+++ netpbm-10.47.04/lib/libpm.c 2009-10-21 15:09:34.000000000 +0200 +++ netpbm-10.47.04/lib/libpm.c 2009-10-21 15:09:34.000000000 +0200
@@ -827,4 +827,53 @@ pm_parse_height(const char * const arg) @@ -827,4 +827,53 @@ pm_parse_height(const char * const arg)
@ -1482,18 +1355,6 @@ diff -up netpbm-10.47.04/other/pnmcolormap.c.security netpbm-10.47.04/other/pnmc
} }
{ {
unsigned int const intQuotient = colormap.size / pamP->width; unsigned int const intQuotient = colormap.size / pamP->width;
diff -up netpbm-10.47.04/urt/README.security netpbm-10.47.04/urt/README
--- netpbm-10.47.04/urt/README.security 2009-10-21 13:39:11.000000000 +0200
+++ netpbm-10.47.04/urt/README 2009-10-21 15:09:34.000000000 +0200
@@ -18,3 +18,8 @@ in its initializer in the original. But
defines stdout as a variable, so that wouldn't compile. So I changed
it to NULL and added a line to rle_hdr_init to set that field to
'stdout' dynamically. 2000.06.02 BJH.
+
+Redid the code to check for maths overflows and other crawly horrors.
+Removed pipe through and compress support (unsafe)
+
+Alan Cox <alan@redhat.com>
diff -up netpbm-10.47.04/urt/rle_addhist.c.security netpbm-10.47.04/urt/rle_addhist.c diff -up netpbm-10.47.04/urt/rle_addhist.c.security netpbm-10.47.04/urt/rle_addhist.c
--- netpbm-10.47.04/urt/rle_addhist.c.security 2009-10-21 13:39:11.000000000 +0200 --- netpbm-10.47.04/urt/rle_addhist.c.security 2009-10-21 13:39:11.000000000 +0200
+++ netpbm-10.47.04/urt/rle_addhist.c 2009-10-21 15:09:34.000000000 +0200 +++ netpbm-10.47.04/urt/rle_addhist.c 2009-10-21 15:09:34.000000000 +0200
@ -1630,37 +1491,6 @@ diff -up netpbm-10.47.04/urt/rle_hdr.c.security netpbm-10.47.04/urt/rle_hdr.c
size *= sizeof(char *); size *= sizeof(char *);
to_hdr->comments = (CONST_DECL char **)malloc( size ); to_hdr->comments = (CONST_DECL char **)malloc( size );
RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" ); RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" );
diff -up netpbm-10.47.04/urt/rle.h.security netpbm-10.47.04/urt/rle.h
--- netpbm-10.47.04/urt/rle.h.security 2009-10-21 13:39:11.000000000 +0200
+++ netpbm-10.47.04/urt/rle.h 2009-10-21 15:09:34.000000000 +0200
@@ -14,6 +14,9 @@
* 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>
+ * Header declarations needed
*/
/*
* rle.h - Global declarations for Utah Raster Toolkit RLE programs.
@@ -166,6 +169,17 @@ rle_hdr /* End of typedef. *
*/
extern rle_hdr rle_dflt_hdr;
+/*
+ * Provided by pm library
+ */
+
+extern void overflow_add(int, int);
+#define overflow2(a,b) __overflow2(a,b)
+extern void __overflow2(int, int);
+extern void overflow3(int, int, int);
+extern void *malloc2(int, int);
+extern void *malloc3(int, int, int);
+extern void *realloc2(void *, int, int);
/* Declare RLE library routines. */
diff -up netpbm-10.47.04/urt/rle_open_f.c.security netpbm-10.47.04/urt/rle_open_f.c diff -up netpbm-10.47.04/urt/rle_open_f.c.security netpbm-10.47.04/urt/rle_open_f.c
--- netpbm-10.47.04/urt/rle_open_f.c.security 2009-10-21 13:39:11.000000000 +0200 --- netpbm-10.47.04/urt/rle_open_f.c.security 2009-10-21 13:39:11.000000000 +0200
+++ netpbm-10.47.04/urt/rle_open_f.c 2009-10-21 15:15:38.000000000 +0200 +++ netpbm-10.47.04/urt/rle_open_f.c 2009-10-21 15:15:38.000000000 +0200
@ -1704,11 +1534,11 @@ diff -up netpbm-10.47.04/urt/rle_open_f.c.security netpbm-10.47.04/urt/rle_open_
- *noSubprocessP = FALSE; - *noSubprocessP = FALSE;
- -
- if (*mode == 'w') - if (*mode == 'w')
- asprintfN(&command, "compress > %s", file_name); - pm_asprintf(&command, "compress > %s", file_name);
- else if (*mode == 'a') - else if (*mode == 'a')
- asprintfN(&command, "compress >> %s", file_name); - pm_asprintf(&command, "compress >> %s", file_name);
- else - else
- asprintfN(&command, "compress -d < %s", file_name); - pm_asprintf(&command, "compress -d < %s", file_name);
- -
- *fpP = my_popen(command, mode, &thepid); - *fpP = my_popen(command, mode, &thepid);
- -
@ -1720,7 +1550,7 @@ diff -up netpbm-10.47.04/urt/rle_open_f.c.security netpbm-10.47.04/urt/rle_open_
- if (*catchingChildrenP < MAX_CHILDREN) - if (*catchingChildrenP < MAX_CHILDREN)
- pids[(*catchingChildrenP)++] = thepid; - pids[(*catchingChildrenP)++] = thepid;
- } - }
- strfree(command); - pm_strfree(command);
- } else { - } else {
- *noSubprocessP = TRUE; - *noSubprocessP = TRUE;
- *errorP = NULL; - *errorP = NULL;
@ -1815,3 +1645,24 @@ diff -up netpbm-10.47.04/urt/scanargs.c.security netpbm-10.47.04/urt/scanargs.c
#if defined(c_plusplus) && !defined(USE_PROTOTYPES) #if defined(c_plusplus) && !defined(USE_PROTOTYPES)
#define USE_PROTOTYPES #define USE_PROTOTYPES
--- advanced/urt/rle_hdr.c.old 2012-01-21 05:57:25.000000000 -0500
+++ advanced/urt/rle_hdr.c 2012-01-21 05:57:50.000000000 -0500
@@ -29,6 +29,18 @@
#include <string.h>
+/*
+ * Provided by pm library
+ */
+
+extern void overflow_add(int, int);
+#define overflow2(a,b) __overflow2(a,b)
+extern void __overflow2(int, int);
+extern void overflow3(int, int, int);
+extern void *malloc2(int, int);
+/*extern void *malloc3(int, int, int);*/
+extern void *realloc2(void *, int, int);
+
/*****************************************************************
* TAG( rle_names )
*