Update to 1.9.15, bugfix release

Approved by:	pav (co mentor)
This commit is contained in:
Michael Johnson 2004-11-12 17:10:19 +00:00
parent 245e8a7237
commit 11aeb07bd2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=121462
11 changed files with 17 additions and 446 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= imlib
PORTVERSION= 1.9.14
PORTREVISION= 4
PORTVERSION= 1.9.15
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= sources/imlib/1.9
@ -23,19 +22,19 @@ LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
USE_BZIP2= yes
USE_GMAKE= yes
USE_X_PREFIX= yes
USE_GNOME= gtk12
USE_GNOME= gtk12 gnomehack
USE_LIBTOOL_VER=15
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc/imlib --disable-modules \
--x-includes=${X11BASE}/include \
--x-libraries=${X11BASE}/lib
CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc/imlib --disable-modules
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LIBS="-L${LOCALBASE}/lib"
MAN1= imlib-config.1 imlib_config.1
pre-configure:
${REINPLACE_CMD} -e "s^%%LOCALBASE%%^${LOCALBASE}^" ${WRKSRC}/imlib-config.in
@${REINPLACE_CMD} -e "s|10:15:9|5:0:0|" ${WRKSRC}/*/Makefile.in
@${REINPLACE_CMD} -e "s|glib-config|${GLIB_CONFIG}|" ${WRKSRC}/configure
@${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|" ${WRKSRC}/imlib-config.in
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
MD5 (gnome/imlib-1.9.14.tar.bz2) = a337643f75bb431034d7213ac74f13dc
SIZE (gnome/imlib-1.9.14.tar.bz2) = 587947
MD5 (gnome/imlib-1.9.15.tar.bz2) = 7db987e6c52e4daf70d7d0f471238eae
SIZE (gnome/imlib-1.9.15.tar.bz2) = 683242

View File

@ -1,14 +0,0 @@
$FreeBSD$
--- Imlib/Makefile.in.orig Mon Mar 25 18:50:26 2002
+++ Imlib/Makefile.in Wed Mar 27 14:07:30 2002
@@ -120,7 +120,7 @@
libImlib_la_SOURCES = cache.c colors.c load.c misc.c rend.c utils.c save.c snprintf.c
-libImlib_la_LDFLAGS = -version-info 10:14:9
+libImlib_la_LDFLAGS = -version-info 5:0:0
#libImlib_la_LDDADD = $(SUPPORT_LIBS)
libImlib_la_LIBADD = $(SUPPORT_LIBS) $(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIBS)

View File

@ -1,146 +0,0 @@
Marcus Meissner noticed that there is a second instance of the BMP loader
code in imlib, nearly identical to that in io-bmp.c.
--- Imlib/load.c 2004-09-02 10:17:48.738898822 +0200
+++ Imlib/load.c 2004-09-02 10:18:32.698181227 +0200
@@ -631,12 +631,12 @@
fread(dbuf, 4, 2, file);
*w = (int)dbuf[0];
*h = (int)dbuf[1];
- if (*w > 32767)
+ if ((*w < 0) || (*w > 32767))
{
fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
return NULL;
}
- if (*h > 32767)
+ if ((*h < 0) || (*h > 32767))
{
fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
return NULL;
@@ -661,6 +661,9 @@
ncolors = (int)dbuf[0];
if (ncolors == 0)
ncolors = 1 << bpp;
+ if ((ncolors < 0) || (ncolors > (1 << bpp)))
+ ncolors = 1 << bpp;
+
/* some more sanity checks */
if (((comp == BI_RLE4) && (bpp != 4)) || ((comp == BI_RLE8) && (bpp != 8)) || ((comp == BI_BITFIELDS) && (bpp != 16 && bpp != 32)))
{
@@ -786,9 +789,13 @@
for (bit = 0; bit < 8; bit++)
{
index = ((byte & (0x80 >> bit)) ? 1 : 0);
+ /* possibly corrupted file? */
+ if (index < ncolors && poffset < *w * *h * 3)
+ {
ptr[poffset] = cmap[index].r;
ptr[poffset + 1] = cmap[index].g;
ptr[poffset + 2] = cmap[index].b;
+ }
column++;
}
}
@@ -810,9 +817,13 @@
index = ((byte & (0xF0 >> nibble * 4)) >> (!nibble * 4));
if (index >= 16)
index = 15;
+ /* possibly corrupted file? */
+ if (index < ncolors && poffset < *w * *h * 3)
+ {
ptr[poffset] = cmap[index].r;
ptr[poffset + 1] = cmap[index].g;
ptr[poffset + 2] = cmap[index].b;
+ }
column++;
}
}
@@ -851,9 +862,13 @@
{
linepos++;
byte = getc(file);
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
ptr[poffset] = cmap[byte].r;
ptr[poffset + 1] = cmap[byte].g;
ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
}
if (absolute & 0x01)
@@ -864,9 +879,13 @@
{
for (i = 0; i < first; i++)
{
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
ptr[poffset] = cmap[byte].r;
ptr[poffset + 1] = cmap[byte].g;
ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
linepos++;
}
@@ -874,9 +893,13 @@
}
else
{
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
ptr[poffset] = cmap[byte].r;
ptr[poffset + 1] = cmap[byte].g;
ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
}
}
@@ -884,9 +907,12 @@
else if (bpp == 24)
{
linepos += fread(bbuf, 1, 3, file);
+ if (poffset< *w * *h * 3)
+ {
ptr[poffset] = (unsigned char)bbuf[2];
ptr[poffset + 1] = (unsigned char)bbuf[1];
ptr[poffset + 2] = (unsigned char)bbuf[0];
+ }
column++;
}
else if (bpp == 16)
@@ -894,12 +920,16 @@
unsigned char temp;
linepos += fread(&word, 2, 1, file);
+ /* possibly corrupted file? */
+ if (poffset < *w * *h * 3)
+ {
temp = (word & rmask) >> rshift;
ptr[poffset] = temp;
temp = (word & gmask) >> gshift;
ptr[poffset + 1] = temp;
temp = (word & bmask) >> gshift;
ptr[poffset + 2] = temp;
+ }
column++;
}
else
@@ -907,12 +937,16 @@
unsigned char temp;
linepos += fread(&dword, 4, 1, file);
+ /* possibly corrupted file? */
+ if (poffset < *w * *h * 3)
+ {
temp = (dword & rmask) >> rshift;
ptr[poffset] = temp;
temp = (dword & gmask) >> gshift;
ptr[poffset + 1] = temp;
temp = (dword & bmask) >> bshift;
ptr[poffset + 2] = temp;
+ }
column++;
}
}

View File

@ -1,12 +0,0 @@
--- Makefile.in.orig Tue Mar 27 22:21:26 2001
+++ Makefile.in Mon May 21 19:43:10 2001
@@ -37,3 +37,3 @@
pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
+pkglibdir = $(prefix)/libdata/pkgconfig
pkgincludedir = $(includedir)/@PACKAGE@
@@ -109,3 +109,3 @@
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = $(pkglibdir)
pkgconfig_DATA = imlib.pc imlibgdk.pc

View File

@ -1,33 +0,0 @@
--- configure.orig Thu Feb 15 03:29:17 2001
+++ configure Thu Mar 22 15:02:05 2001
@@ -2034,8 +2034,8 @@
if test "x$GDK_IMLIB" != x; then
oLIBS="$LIBS"
oCFLAGS="$CFLAGS"
- LIBS="$LIBS `glib-config --libs gmodule`"
- CFLAGS="$CFLAGS `glib-config --cflags gmodule`"
+ LIBS="$LIBS `${GLIB_CONFIG} --libs gmodule`"
+ CFLAGS="$CFLAGS `${GLIB_CONFIG} --cflags gmodule`"
if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
@@ -2085,8 +2085,8 @@
#define USE_GMODULE 1
EOF
- GMODULE_LIBS="`glib-config --libs gmodule`"
- GMODULE_FLAGS="`glib-config --cflags gmodule`"
+ GMODULE_LIBS="`${GLIB_CONFIG} --libs gmodule`"
+ GMODULE_FLAGS="`${GLIB_CONFIG} --cflags gmodule`"
echo "$ac_t""yes" 1>&6
@@ -4205,7 +4205,7 @@
echo "$ac_t""$jpeg_ok" 1>&6
if test "$jpeg_ok" = yes; then
JPEGLIBS="-ljpeg"
- SUPPORT_LIBS="$SUPPORT_LIBS -ljpeg"; cat >> confdefs.h <<\EOF
+ SUPPORT_LIBS="$SUPPORT_LIBS"; cat >> confdefs.h <<\EOF
#define HAVE_LIBJPEG 1
EOF

View File

@ -1,14 +0,0 @@
$FreeBSD$
--- gdk_imlib/Makefile.in.orig Mon Mar 25 18:50:24 2002
+++ gdk_imlib/Makefile.in Wed Mar 27 14:08:06 2002
@@ -147,7 +147,7 @@
libgdk_imlib_la_SOURCES = cache.c colors.c globals.c load.c misc.c rend.c utils.c save.c modules.c
-libgdk_imlib_la_LDFLAGS = -version-info 10:14:9
+libgdk_imlib_la_LDFLAGS = -version-info 5:0:0
libgdk_imlib_la_LIBADD = $(GMODULE_LIBS) $(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIBS)

View File

@ -1,178 +0,0 @@
http://bugzilla.gnome.org/show_bug.cgi?id=151034
------- Additional Comment #5 From Dmitry V. Levin 2004-08-31 07:59 -------
diff -uprk.orig imlib-1.9.14.orig/gdk_imlib/io-bmp.c imlib-1.9.14/gdk_imlib/io-bmp.c
--- gdk_imlib/io-bmp.c 2002-03-04 20:06:29 +0300
+++ gdk_imlib/io-bmp.c 2004-08-30 13:38:02 +0400
@@ -42,12 +42,12 @@ loader_bmp (FILE *file, int *w, int *h,
fread(dbuf, 4, 2, file);
*w = (int)dbuf[0];
*h = (int)dbuf[1];
- if (*w > 32767)
+ if ((*w < 0) || (*w > 32767))
{
fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
return NULL;
}
- if (*h > 32767)
+ if ((*h < 0) || (*h > 32767))
{
fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
return NULL;
@@ -72,6 +72,9 @@ loader_bmp (FILE *file, int *w, int *h,
ncolors = (int)dbuf[0];
if (ncolors == 0)
ncolors = 1 << bpp;
+ if ((ncolors < 0) || (ncolors > (1 << bpp)))
+ ncolors = 1 << bpp;
+
/* some more sanity checks */
if (((comp == BI_RLE4) && (bpp != 4)) || ((comp == BI_RLE8) && (bpp != 8)) || ((comp == BI_BITFIELDS) && (bpp != 16 && bpp != 32)))
{
@@ -197,9 +200,13 @@ loader_bmp (FILE *file, int *w, int *h,
for (bit = 0; bit < 8; bit++)
{
index = ((byte & (0x80 >> bit)) ? 1 : 0);
- ptr[poffset] = cmap[index].r;
- ptr[poffset + 1] = cmap[index].g;
- ptr[poffset + 2] = cmap[index].b;
+ /* possibly corrupted file? */
+ if (index < ncolors && poffset < *w * *h * 3)
+ {
+ ptr[poffset] = cmap[index].r;
+ ptr[poffset + 1] = cmap[index].g;
+ ptr[poffset + 2] = cmap[index].b;
+ }
column++;
}
}
@@ -221,9 +228,13 @@ loader_bmp (FILE *file, int *w, int *h,
index = ((byte & (0xF0 >> nibble * 4)) >> (!nibble * 4));
if (index >= 16)
index = 15;
- ptr[poffset] = cmap[index].r;
- ptr[poffset + 1] = cmap[index].g;
- ptr[poffset + 2] = cmap[index].b;
+ /* possibly corrupted file? */
+ if (index < ncolors && poffset < *w * *h * 3)
+ {
+ ptr[poffset] = cmap[index].r;
+ ptr[poffset + 1] = cmap[index].g;
+ ptr[poffset + 2] = cmap[index].b;
+ }
column++;
}
}
@@ -263,9 +274,13 @@ loader_bmp (FILE *file, int *w, int *h,
{
linepos++;
byte = getc(file);
- ptr[poffset] = cmap[byte].r;
- ptr[poffset + 1] = cmap[byte].g;
- ptr[poffset + 2] = cmap[byte].b;
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
+ ptr[poffset] = cmap[byte].r;
+ ptr[poffset + 1] = cmap[byte].g;
+ ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
}
if (absolute & 0x01)
@@ -276,9 +291,13 @@ loader_bmp (FILE *file, int *w, int *h,
{
for (i = 0; i < first; i++)
{
- ptr[poffset] = cmap[byte].r;
- ptr[poffset + 1] = cmap[byte].g;
- ptr[poffset + 2] = cmap[byte].b;
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
+ ptr[poffset] = cmap[byte].r;
+ ptr[poffset + 1] = cmap[byte].g;
+ ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
linepos++;
}
@@ -286,9 +305,13 @@ loader_bmp (FILE *file, int *w, int *h,
}
else
{
- ptr[poffset] = cmap[byte].r;
- ptr[poffset + 1] = cmap[byte].g;
- ptr[poffset + 2] = cmap[byte].b;
+ /* possibly corrupted file? */
+ if (byte < ncolors && poffset < *w * *h * 3)
+ {
+ ptr[poffset] = cmap[byte].r;
+ ptr[poffset + 1] = cmap[byte].g;
+ ptr[poffset + 2] = cmap[byte].b;
+ }
column++;
linepos += size;
}
@@ -297,9 +320,13 @@ loader_bmp (FILE *file, int *w, int *h,
else if (bpp == 24)
{
linepos += fread(&bbuf, 1, 3, file);
- ptr[poffset] = (unsigned char)bbuf[2];
- ptr[poffset + 1] = (unsigned char)bbuf[1];
- ptr[poffset + 2] = (unsigned char)bbuf[0];
+ /* possibly corrupted file? */
+ if (poffset < *w * *h * 3)
+ {
+ ptr[poffset] = (unsigned char)bbuf[2];
+ ptr[poffset + 1] = (unsigned char)bbuf[1];
+ ptr[poffset + 2] = (unsigned char)bbuf[0];
+ }
column++;
}
else if (bpp == 16)
@@ -307,12 +334,16 @@ loader_bmp (FILE *file, int *w, int *h,
unsigned char temp;
linepos += fread(&word, 2, 1, file);
- temp = (word & rmask) >> rshift;
- ptr[poffset] = temp;
- temp = (word & gmask) >> gshift;
- ptr[poffset + 1] = temp;
- temp = (word & bmask) >> gshift;
- ptr[poffset + 2] = temp;
+ /* possibly corrupted file? */
+ if (poffset < *w * *h * 3)
+ {
+ temp = (word & rmask) >> rshift;
+ ptr[poffset] = temp;
+ temp = (word & gmask) >> gshift;
+ ptr[poffset + 1] = temp;
+ temp = (word & bmask) >> gshift;
+ ptr[poffset + 2] = temp;
+ }
column++;
}
else
@@ -320,12 +351,16 @@ loader_bmp (FILE *file, int *w, int *h,
unsigned char temp;
linepos += fread(&dword, 4, 1, file);
- temp = (dword & rmask) >> rshift;
- ptr[poffset] = temp;
- temp = (dword & gmask) >> gshift;
- ptr[poffset + 1] = temp;
- temp = (dword & bmask) >> bshift;
- ptr[poffset + 2] = temp;
+ /* possibly corrupted file? */
+ if (poffset < *w * *h * 3)
+ {
+ temp = (dword & rmask) >> rshift;
+ ptr[poffset] = temp;
+ temp = (dword & gmask) >> gshift;
+ ptr[poffset + 1] = temp;
+ temp = (dword & bmask) >> bshift;
+ ptr[poffset + 2] = temp;
+ }
column++;
}
}

View File

@ -1,11 +0,0 @@
--- imlib-config.in.orig Thu Jan 14 17:43:29 1999
+++ imlib-config.in Thu Mar 22 14:59:36 2001
@@ -3,7 +3,7 @@
# Shamelessly ripped form gtk's gtk-config.in
#
-gx_libs="@SUPPORT_LIBS@"
+gx_libs="-L%%LOCALBASE%%/lib @SUPPORT_LIBS@"
gdk_gx_libs=" @GDK_SUPPORT_LIBS@"
gdk_libs="@LIBS@"

View File

@ -1,28 +0,0 @@
$FreeBSD$
--- ltmain.sh 2001/08/27 09:51:26 1.1
+++ ltmain.sh 2001/08/27 09:51:42
@@ -2408,6 +2408,9 @@
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
+ *-*-freebsd*)
+ # FreeBSD doesn't need this...
+ ;;
*)
# Add libc to deplibs on all other systems if necessary.
if test "$build_libtool_need_lc" = "yes"; then
@@ -4175,10 +4178,12 @@
fi
# Install the pseudo-library for information purposes.
+ if /usr/bin/false; then
name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
instname="$dir/$name"i
$show "$install_prog $instname $destdir/$name"
$run eval "$install_prog $instname $destdir/$name" || exit $?
+ fi
# Maybe install the static library, too.
test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"

View File

@ -16,6 +16,14 @@ lib/libImlib.so.5
lib/libgdk_imlib.a
lib/libgdk_imlib.so
lib/libgdk_imlib.so.5
lib/libimlib-bmp.so
lib/libimlib-gif.so
lib/libimlib-jpeg.so
lib/libimlib-png.so
lib/libimlib-ppm.so
lib/libimlib-ps.so
lib/libimlib-tiff.so
lib/libimlib-xpm.so
libdata/pkgconfig/imlib.pc
libdata/pkgconfig/imlibgdk.pc
share/aclocal/imlib.m4