Update open-motif to 2.3.3

Remove needles patches (integrated upstream)
Pass maintainership to submitter

PR:		ports/154044
Submitted by:	Mikhail Tsatsenko <m.tsatsenko at gmail.com>
Exp-runs by:	pav
This commit is contained in:
Max Brazhnikov 2011-05-02 12:40:24 +00:00
parent ccebe907c3
commit 314168b9be
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=273473
15 changed files with 226 additions and 301 deletions

View File

@ -1971,7 +1971,7 @@ LIB_DEPENDS+= Xm:${PORTSDIR}/x11-toolkits/lesstif
NO_OPENMOTIF= yes
.endif
.if !defined(NO_OPENMOTIF)
LIB_DEPENDS+= Xm.3:${PORTSDIR}/x11-toolkits/open-motif
LIB_DEPENDS+= Xm.4:${PORTSDIR}/x11-toolkits/open-motif
.endif
.endif

View File

@ -7,28 +7,29 @@
#
PORTNAME= open-motif
PORTVERSION= 2.2.3
PORTREVISION= 6
PORTVERSION= 2.3.3
CATEGORIES= x11-toolkits
MASTER_SITES= ftp://ftp.ics.com/openmotif/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/${PORTVERSION}/src/
DISTNAME= openMotif-${PORTVERSION}
EXTRACT_SUFX= .tar.gz
MASTER_SITES= ftp://ftp.ics.com/openmotif/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/${PORTVERSION}/
DISTNAME= openmotif-${PORTVERSION}
DIST_SUBDIR= openmotif
MAINTAINER= ports@FreeBSD.org
MAINTAINER= m.tsatsenko@gmail.com
COMMENT= Motif X11 Toolkit (industry standard GUI (IEEE 1295))
LIB_DEPENDS= png.6:${PORTSDIR}/graphics/png \
jpeg.11:${PORTSDIR}/graphics/jpeg
MAKE_JOBS_UNSAFE= yes
CONFLICTS= lesstif-[0-9]*
USE_AUTOTOOLS= libtool
CONFLICTS= lesstif-*
USE_ICONV= yes
USE_GMAKE= yes
USE_XORG= xaw xbitmaps
USE_XORG= xaw xbitmaps xft
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-DCSRG_BASED -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI"
USE_LDCONFIG= yes
MAKE_ENV= LANG=C
CFLAGS+= -fno-strict-aliasing
CPPFLAGS= -DCSRG_BASED -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
DEMOS_SRC= ${WRKSRC}/demos/programs

View File

@ -137,7 +137,6 @@ MAN3= \
XmCreateMenuShell.3 \
XmCreateMessageBox.3 \
XmCreateMessageDialog.3 \
XmCreateMultiList.3 \
XmCreateNotebook.3 \
XmCreateOptionMenu.3 \
XmCreatePanedWindow.3 \
@ -198,11 +197,6 @@ MAN3= \
XmDrawingArea.3 \
XmDrawnButton.3 \
XmDropDown.3 \
XmDropDownGetArrow.3 \
XmDropDownGetLabel.3 \
XmDropDownGetList.3 \
XmDropDownGetText.3 \
XmDropDownGetValue.3 \
XmDropSite.3 \
XmDropSiteConfigureStackingOrder.3 \
XmDropSiteEndUpdate.3 \
@ -328,9 +322,6 @@ MAN3= \
XmMessageBox.3 \
XmMessageBoxGetChild.3 \
XmMultiList.3 \
XmMultiListDeselectAllItems.3 \
XmMultiListDeselectItem.3 \
XmMultiListDeselectItems.3 \
XmMultiListDeselectRow.3 \
XmMultiListGetSelectedRowArray.3 \
XmMultiListGetSelectedRows.3 \
@ -594,6 +585,131 @@ MAN3= \
XmVaCreateSimplePulldownMenu.3 \
XmVaCreateSimpleRadioBox.3 \
XmWidgetGetBaselines.3 \
XmCreateButtonBox.3 \
XmCreateCombinationBox2.3 \
XmCreateHierarchy.3 \
XmCreateOutline.3 \
XmDataFieldCopy.3 \
XmDataFieldCut.3 \
XmDataFieldGetSelection.3 \
XmDataFieldGetSelectionPosition.3 \
XmDataFieldGetString.3 \
XmDataFieldGetStringWcs.3 \
XmDataFieldPaste.3 \
XmDataFieldSetAddMode.3 \
XmDataFieldSetEditable.3 \
XmDataFieldSetHighlight.3 \
XmDataFieldSetInsertionPosition.3 \
XmDataFieldSetSelection.3 \
XmDataFieldSetString.3 \
XmDataFieldXYToPos.3 \
XmDropDownGetChild.3 \
XmExt18List.3 \
XmHierarchy.3 \
XmHierarchyGetChildNodes.3 \
XmHierarchyOpenAllAncestors.3 \
XmIconBoxIsCellEmpty.3 \
XmMultiListDeselectItems.3 \
XmMultiListUnselectAllItems.3 \
XmMultiListUnselectItem.3 \
XmOutline.3 \
XmPaned.3 \
XmPanedGetPanes.3 \
XmTabStackGetSelectedTab.3 \
XmTabStackSelectTab.3 \
XmTabStackXYToWidget.3 \
XmVaCreateArrowButton.3 \
XmVaCreateArrowButtonGadget.3 \
XmVaCreateBulletinBoard.3 \
XmVaCreateButtonBox.3 \
XmVaCreateCascadeButton.3 \
XmVaCreateCascadeButtonGadget.3 \
XmVaCreateColorSelector.3 \
XmVaCreateColumn.3 \
XmVaCreateCombinationBox2.3 \
XmVaCreateComboBox.3 \
XmVaCreateCommand.3 \
XmVaCreateContainer.3 \
XmVaCreateDataField.3 \
XmVaCreateDrawingArea.3 \
XmVaCreateDrawnButton.3 \
XmVaCreateDropDown.3 \
XmVaCreateExt18List.3 \
XmVaCreateFileSelectionBox.3 \
XmVaCreateForm.3 \
XmVaCreateFrame.3 \
XmVaCreateHierarchy.3 \
XmVaCreateIconGadget.3 \
XmVaCreateLabel.3 \
XmVaCreateLabelGadget.3 \
XmVaCreateList.3 \
XmVaCreateMainWindow.3 \
XmVaCreateManagedArrowButton.3 \
XmVaCreateManagedArrowButtonGadget.3 \
XmVaCreateManagedBulletinBoard.3 \
XmVaCreateManagedButtonBox.3 \
XmVaCreateManagedCascadeButton.3 \
XmVaCreateManagedCascadeButtonGadget.3 \
XmVaCreateManagedColorSelector.3 \
XmVaCreateManagedColumn.3 \
XmVaCreateManagedCombinationBox2.3 \
XmVaCreateManagedComboBox.3 \
XmVaCreateManagedCommand.3 \
XmVaCreateManagedContainer.3 \
XmVaCreateManagedDataField.3 \
XmVaCreateManagedDrawingArea.3 \
XmVaCreateManagedDrawnButton.3 \
XmVaCreateManagedDropDown.3 \
XmVaCreateManagedExt18List.3 \
XmVaCreateManagedFileSelectionBox.3 \
XmVaCreateManagedForm.3 \
XmVaCreateManagedFrame.3 \
XmVaCreateManagedHierarchy.3 \
XmVaCreateManagedIconGadget.3 \
XmVaCreateManagedLabel.3 \
XmVaCreateManagedLabelGadget.3 \
XmVaCreateManagedList.3 \
XmVaCreateManagedMainWindow.3 \
XmVaCreateManagedMessageBox.3 \
XmVaCreateManagedMultiList.3 \
XmVaCreateManagedNotebook.3 \
XmVaCreateManagedOutline.3 \
XmVaCreateManagedPanedWindow.3 \
XmVaCreateManagedPushButton.3 \
XmVaCreateManagedPushButtonGadget.3 \
XmVaCreateManagedRowColumn.3 \
XmVaCreateManagedScale.3 \
XmVaCreateManagedScrollBar.3 \
XmVaCreateManagedScrolledWindow.3 \
XmVaCreateManagedSelectionBox.3 \
XmVaCreateManagedSeparatorGadget.3 \
XmVaCreateManagedSimpleSpinBox.3 \
XmVaCreateManagedSpinBox.3 \
XmVaCreateManagedTabStack.3 \
XmVaCreateManagedText.3 \
XmVaCreateManagedTextField.3 \
XmVaCreateManagedToggleButton.3 \
XmVaCreateManagedToggleButtonGadget.3 \
XmVaCreateMessageBox.3 \
XmVaCreateMultiList.3 \
XmVaCreateNotebook.3 \
XmVaCreateOutline.3 \
XmVaCreatePanedWindow.3 \
XmVaCreatePushButton.3 \
XmVaCreatePushButtonGadget.3 \
XmVaCreateRowColumn.3 \
XmVaCreateScale.3 \
XmVaCreateScrollBar.3 \
XmVaCreateScrolledWindow.3 \
XmVaCreateSelectionBox.3 \
XmVaCreateSeparatorGadget.3 \
XmVaCreateSimpleSpinBox.3 \
XmVaCreateSpinBox.3 \
XmVaCreateTabStack.3 \
XmVaCreateText.3 \
XmVaCreateTextField.3 \
XmVaCreateToggleButton.3 \
XmVaCreateToggleButtonGadget.3 \
XmWidgetGetDisplayRect.3
MAN5= \
Traits.5 \

View File

@ -1,3 +1,2 @@
MD5 (openmotif/openMotif-2.2.3.tar.gz) = 94c96a0f94ee0d5e41d3dba2188b263d
SHA256 (openmotif/openMotif-2.2.3.tar.gz) = 12fc0d1de53ff30307603e31826db9b63a442f6f743451aed2cb7cedb038d3d9
SIZE (openmotif/openMotif-2.2.3.tar.gz) = 5149785
SHA256 (openmotif/openmotif-2.3.3.tar.gz) = c85f5545e218fa0c59a3789192132d472fc5a33e914a221a568eee4fc10cd103
SIZE (openmotif/openmotif-2.3.3.tar.gz) = 6051202

View File

@ -1,11 +1,11 @@
--- Makefile.in.orig Tue Apr 6 13:50:25 2004
+++ Makefile.in Thu Jul 29 21:14:05 2004
@@ -101,7 +101,7 @@
MAINTAINERCLEANFILES = Makefile.in configure libtool config.guess config.sub config.log ltconfig ltmain.sh aclocal.m4 config.h.in install-sh missing mkinstalldirs
-SUBDIRS = bindings bitmaps config localized lib include tools clients doc demos
+SUBDIRS = bindings bitmaps config localized lib include tools clients doc $(DEMOS)
--- Makefile.in.orig 2010-03-12 17:45:02.000000000 +0300
+++ Makefile.in 2011-01-16 00:21:21.000000000 +0300
@@ -289,7 +289,7 @@
tools \
clients \
doc \
- demos
+ ${DEMOS}
AUTOMAKE_OPTIONS = 1.4
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
ACLOCAL_AMFLAGS = -I .

View File

@ -1,11 +1,10 @@
--- clients/mwm/Makefile.in.orig Tue Apr 6 13:50:25 2004
+++ clients/mwm/Makefile.in Thu Jul 29 21:16:47 2004
@@ -104,7 +104,7 @@
bin_PROGRAMS = mwm
mwm_LDADD = ./WmWsmLib/libWsm.a ../../lib/Xm/libXm.la
--- clients/mwm/Makefile.in.orig 2010-03-12 17:44:20.000000000 +0300
+++ clients/mwm/Makefile.in 2011-01-16 00:23:47.000000000 +0300
@@ -314,6 +314,7 @@
-DBITMAPDIR=\"@INCDIR@/bitmaps\" \
-DMWMRCDIR=\"$(MWMRCDIR)\" \
-I$(top_builddir)/lib \
+ -DLIBDIR=\"@LIBDIR@\" \
-I$(srcdir)/../../lib ${X_CFLAGS}
-INCLUDES = -DLARGECURSORS -DR2_COMPAT -DUNMAP_ON_RESTART -DCDE_INSTALLATION_TOP=\"@CDE_INSTALLATION_TOP@\" -DCDE_CONFIGURATION_TOP=\"@CDE_CONFIGURATION_TOP@\" -DBITMAPDIR=\"@INCDIR@/bitmaps\" -I$(srcdir)/../../lib ${X_CFLAGS}
+INCLUDES = -DLARGECURSORS -DR2_COMPAT -DUNMAP_ON_RESTART -DCDE_INSTALLATION_TOP=\"@CDE_INSTALLATION_TOP@\" -DCDE_CONFIGURATION_TOP=\"@CDE_CONFIGURATION_TOP@\" -DBITMAPDIR=\"@INCDIR@/bitmaps\" -DLIBDIR=\"@LIBDIR@\" -I$(srcdir)/../../lib ${X_CFLAGS}
SRCS1 = WmCDInfo.c WmCDecor.c WmCEvent.c WmCPlace.c WmColormap.c WmError.c WmEvent.c WmFeedback.c WmFunction.c WmGraphics.c WmIDecor.c WmIPlace.c WmIconBox.c WmKeyFocus.c WmMain.c WmManage.c WmProperty.c WmResCvt.c WmResParse.c WmResource.c WmSignal.c WmWinConf.c WmWinInfo.c WmWinList.c WmWinState.c WmWsm.c WmXSMP.c version.c WmCmd.c WmImage.c WmInitWs.c WmMenu.c WmProtocol.c
SRCS1 = WmCDInfo.c WmCDecor.c WmCEvent.c\

View File

@ -0,0 +1,11 @@
--- clients/uil/UilDefI.h.orig 2011-01-16 01:16:45.000000000 +0300
+++ clients/uil/UilDefI.h 2011-01-16 01:17:35.000000000 +0300
@@ -283,7 +283,7 @@
#include "UilIODef.h"
#include "UilDiagDef.h"
#include "UilSarDef.h"
-#if defined(linux)
+#if defined(linux) || defined(__FreeBSD__)
#define YYSTYPE yystype
#endif
#include "UilLexPars.h"

View File

@ -1,11 +1,10 @@
--- demos/programs/Makefile.in.orig Tue Apr 6 13:50:30 2004
+++ demos/programs/Makefile.in Thu Jul 29 21:19:05 2004
@@ -93,7 +93,7 @@
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = airport animate drag_and_drop draw earth filemanager fileview getsubres hellomotif i18ninput panner periodic piano popups sampler2_0 setdate Exm todo workspace hellomotifi18n tooltips ButtonBox Column FontSel Outline TabStack Tree ColorSel DropDown MultiList IconB Paned pixmaps
+SUBDIRS = airport animate drag_and_drop draw earth filemanager fileview getsubres hellomotif i18ninput panner periodic piano popups sampler2_0 setdate todo workspace hellomotifi18n tooltips ButtonBox Column FontSel Outline TabStack Tree ColorSel DropDown MultiList IconB Paned pixmaps
EXTRA_DIST = Imakefile
--- demos/programs/Makefile.in.orig 2010-03-12 17:44:37.000000000 +0300
+++ demos/programs/Makefile.in 2011-01-16 00:29:46.000000000 +0300
@@ -261,7 +261,6 @@
popups \
sampler2_0 \
setdate \
- Exm \
todo \
workspace \
hellomotifi18n \

View File

@ -1,11 +1,11 @@
--- doc/man/Makefile.in.orig Thu Feb 14 23:15:49 2002
+++ doc/man/Makefile.in Tue Sep 3 23:06:51 2002
@@ -89,7 +89,7 @@
X_XMU = @X_XMU@
YACC = @YACC@
--- doc/man/Makefile.in.orig 2010-03-12 17:44:56.000000000 +0300
+++ doc/man/Makefile.in 2011-01-16 00:36:46.000000000 +0300
@@ -245,7 +245,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = man1 man3 man4 man5
+SUBDIRS = man1 man3 man5
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../include/config.h
CONFIG_CLEAN_FILES =
all: all-recursive
.SUFFIXES:

View File

@ -1,11 +1,11 @@
--- doc/man/man5/Makefile.in.orig Tue Apr 6 13:50:28 2004
+++ doc/man/man5/Makefile.in Thu Jul 29 21:21:55 2004
@@ -95,7 +95,7 @@
--- doc/man/man5/Makefile.in.orig 2011-01-16 02:23:56.000000000 +0300
+++ doc/man/man5/Makefile.in 2011-01-16 02:24:21.000000000 +0300
@@ -234,7 +234,8 @@
man_MANS = \
Traits.5 \
UIL.5 \
- WML.5
+ WML.5 \
+ mwmrc.5
EXTRA_DIST = $(man_MANS)
-man_MANS = Traits.5 UIL.5 WML.5
+man_MANS = Traits.5 UIL.5 WML.5 mwmrc.5
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../../include/config.h
all: all-am

View File

@ -1,16 +0,0 @@
--- lib/Mrm/MrmItop.c~ Fri Jan 11 14:56:23 2002
+++ lib/Mrm/MrmItop.c Sun Nov 23 19:42:03 2003
@@ -642,10 +642,11 @@
* Local variables
*/
Cardinal result ; /* function results */
+ IDBResource resid ;
if ( (result=Idb__FIL_Valid((IDBFile)file_id)) != MrmSUCCESS ) return result ;
- result = Idb__RID_NextRID ((IDBFile)file_id,
- (IDBResource *)resource_id_return) ;
+ result = Idb__RID_NextRID ((IDBFile)file_id, &resid) ;
+ if ( result == MrmSUCCESS ) *resource_id_return = resid;
return result ;
}

View File

@ -1,22 +1,22 @@
--- lib/Xm/ColorS.c.orig Mon Mar 24 09:01:49 2003
+++ lib/Xm/ColorS.c Mon Mar 24 09:02:44 2003
@@ -107,6 +107,10 @@
--- lib/Xm/ColorS.c.orig 2005-12-17 16:54:03.000000000 +0300
+++ lib/Xm/ColorS.c 2011-01-16 00:48:05.000000000 +0300
@@ -41,6 +41,10 @@
#define SUPERCLASS ((WidgetClass) &xmManagerClassRec)
#define offset(field) XmPartOffset(XmColorSelector, field)
+#ifndef LIBDIR
+#define LIBDIR "/usr/lib/X11"
+#define LIBDIR "/usr/local/lib/X11"
+#endif
+
static XmPartResource resources[] = {
{ XmNcolorMode, XmCColorMode, XmRXmColorMode, sizeof(XmColorMode),
offset(color_mode), XmRImmediate, (XtPointer) XmScaleMode },
@@ -117,7 +121,7 @@
offset(rgb_file), XmRString, (XtPointer) "sys$manager:decw$rgb.dat" },
#else
{ XmNrgbFile, XmCString, XmRString, sizeof(String),
- offset(rgb_file), XmRString, (XtPointer) "/usr/lib/X11/rgb.txt" },
+ offset(rgb_file), XmRString, (XtPointer) LIBDIR"/rgb.txt" },
/************************************************************
* MACROS
************************************************************/
@@ -131,7 +135,7 @@
{
XmNrgbFile, XmCString, XmRString,
sizeof(String), XtOffsetOf(XmColorSelectorRec, cs.rgb_file),
- XmRString, (XtPointer) "/usr/lib/X11/rgb.txt"
+ XmRString, (XtPointer) LIBDIR"/rgb.txt"
},
#endif
{ XmNmarginWidth, XmCMargin, XmRHorizontalDimension,sizeof(Dimension),
offset(margin_width), XmRImmediate, (XtPointer) 2 },
{

View File

@ -1,14 +1,14 @@
--- ltmain.sh.orig Wed Jan 23 10:32:07 2002
+++ ltmain.sh Wed Sep 4 03:36:57 2002
@@ -4365,10 +4365,12 @@
--- ltmain.sh.orig 2009-12-02 18:09:01.000000000 +0300
+++ ltmain.sh 2011-01-16 00:51:04.000000000 +0300
@@ -2077,10 +2077,12 @@
fi
# Install the pseudo-library for information purposes.
+ if /usr/bin/false; then
name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
func_basename "$file"
name="$func_basename_result"
instname="$dir/$name"i
$show "$install_prog $instname $destdir/$name"
$run eval "$install_prog $instname $destdir/$name" || exit $?
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+ fi
# Maybe install the static library, too.

View File

@ -1,186 +0,0 @@
--- lib/Xm/XpmAttrib.c.orig Sat Jan 1 17:44:26 2005
+++ lib/Xm/XpmAttrib.c Sat Jan 1 17:46:04 2005
@@ -58,6 +58,8 @@
XpmColor **colorTable, **color;
int a;
+ if (ncolors > INT_MAX/sizeof(XpmColor *))
+ return (XpmNoMemory);
colorTable = (XpmColor **) XpmMalloc(ncolors * sizeof(XpmColor *));
if (!colorTable) {
*oldct = NULL;
--- lib/Xm/XpmCrDatFrI.c.orig Sat Jan 1 17:46:37 2005
+++ lib/Xm/XpmCrDatFrI.c Sat Jan 1 17:47:18 2005
@@ -134,6 +134,8 @@
*/
header_nlines = 1 + image->ncolors;
header_size = sizeof(char *) * header_nlines;
+ if (header_size > INT_MAX/sizeof(char *))
+ return (XpmNoMemory);
header = (char **) XpmCalloc(header_size, sizeof(char *));
if (!header)
return (XpmNoMemory);
--- lib/Xm/XpmI.h.orig Sat Jan 1 17:47:36 2005
+++ lib/Xm/XpmI.h Sat Jan 1 17:47:53 2005
@@ -108,6 +108,7 @@
* lets try to solve include files
*/
+#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
/* stdio.h doesn't declare popen on a Sequent DYNIX OS */
--- lib/Xm/Xpmcreate.c.orig Sat Jan 1 17:48:09 2005
+++ lib/Xm/Xpmcreate.c Sat Jan 1 17:51:23 2005
@@ -805,6 +805,8 @@
ErrorStatus = XpmSuccess;
/* malloc pixels index tables */
+ if (image->ncolors > INT_MAX/sizeof(Pixel))
+ return (XpmNoMemory);
image_pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * image->ncolors);
if (!image_pixels)
return (XpmNoMemory);
@@ -948,6 +950,10 @@
#ifndef FOR_MSW
/* now that bytes_per_line must have been set properly alloc data */
+ if (height != 0 && (*image_return)->bytes_per_line > INT_MAX/height) {
+ XDestroyImage(*image_return);
+ return (XpmNoMemory);
+ }
(*image_return)->data =
(char *) XpmMalloc((*image_return)->bytes_per_line * height);
@@ -1992,6 +1998,8 @@
xpmGetCmt(data, &colors_cmt);
/* malloc pixels index tables */
+ if (ncolors > INT_MAX/sizeof(Pixel))
+ RETURN(XpmNoMemory);
image_pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * ncolors);
if (!image_pixels)
RETURN(XpmNoMemory);
@@ -2247,7 +2255,7 @@
/* array of pointers malloced by need */
unsigned short *cidx[256];
- int char1;
+ unsigned int char1;
bzero((char *)cidx, 256 * sizeof(unsigned short *)); /* init */
for (a = 0; a < ncolors; a++) {
--- lib/Xm/Xpmhashtab.c.orig Sat Jan 1 17:51:59 2005
+++ lib/Xm/Xpmhashtab.c Sat Jan 1 17:56:35 2005
@@ -150,6 +150,8 @@
HASH_TABLE_GROWS
table->size = size;
table->limit = size / 3;
+ if (size > INT_MAX/sizeof(*atomTable))
+ return (XpmNoMemory);
atomTable = (xpmHashAtom *) XpmMalloc(size * sizeof(*atomTable));
if (!atomTable)
return (XpmNoMemory);
@@ -210,6 +212,8 @@
table->size = INITIAL_HASH_SIZE;
table->limit = table->size / 3;
table->used = 0;
+ if (table->size > INT_MAX/sizeof(*atomTable))
+ return (XpmNoMemory);
atomTable = (xpmHashAtom *) XpmMalloc(table->size * sizeof(*atomTable));
if (!atomTable)
return (XpmNoMemory);
--- lib/Xm/Xpmparse.c.orig Sat Jan 1 17:53:31 2005
+++ lib/Xm/Xpmparse.c Sat Jan 1 17:56:33 2005
@@ -335,6 +335,8 @@
char **defaults;
int ErrorStatus;
+ if (ncolors > INT_MAX/sizeof(XpmColor))
+ return (XpmNoMemory);
colorTable = (XpmColor *) XpmCalloc(ncolors, sizeof(XpmColor));
if (!colorTable)
return (XpmNoMemory);
@@ -346,6 +348,8 @@
/*
* read pixel value
*/
+ if (cpp > INT_MAX-1)
+ return (XpmNoMemory);
color->string = (char *) XpmMalloc(cpp + 1);
if (!color->string) {
xpmFreeColorTable(colorTable, ncolors);
@@ -428,6 +432,8 @@
/*
* read pixel value
*/
+ if (cpp > INT_MAX-1)
+ return (XpmNoMemory);
color->string = (char *) XpmMalloc(cpp + 1);
if (!color->string) {
xpmFreeColorTable(colorTable, ncolors);
@@ -490,6 +496,8 @@
unsigned int *iptr, *iptr2;
unsigned int a, x, y;
+ if (height != 0 && width > INT_MAX/sizeof(unsigned int))
+ return (XpmNoMemory);
#ifndef FOR_MSW
iptr2 = (unsigned int *) XpmMalloc(sizeof(unsigned int) * width * height);
#else
@@ -543,7 +551,7 @@
/* array of pointers malloced by need */
unsigned short *cidx[256];
- int char1;
+ unsigned int char1;
bzero((char *)cidx, 256 * sizeof(unsigned short *)); /* init */
for (a = 0; a < ncolors; a++) {
--- lib/Xm/Xpmscan.c.orig Sat Jan 1 17:56:49 2005
+++ lib/Xm/Xpmscan.c Sat Jan 1 17:59:28 2005
@@ -225,11 +225,16 @@
else
cpp = 0;
+ if ((height != 0 && width > INT_MAX/height) ||
+ (width*height > INT_MAX/sizeof(unsigned int)))
+ RETURN(XpmNoMemory);
pmap.pixelindex =
(unsigned int *) XpmCalloc(width * height, sizeof(unsigned int));
if (!pmap.pixelindex)
RETURN(XpmNoMemory);
+ if (pmap.size > INT_MAX/sizeof(Pixel))
+ RETURN(XpmNoMemory);
pmap.pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * pmap.size);
if (!pmap.pixels)
RETURN(XpmNoMemory);
@@ -284,7 +289,8 @@
* get rgb values and a string of char, and possibly a name for each
* color
*/
-
+ if (pmap.ncolors > INT_MAX/sizeof(XpmColor))
+ RETURN(XpmNoMemory);
colorTable = (XpmColor *) XpmCalloc(pmap.ncolors, sizeof(XpmColor));
if (!colorTable)
RETURN(XpmNoMemory);
@@ -332,6 +338,8 @@
/* first get a character string */
a = 0;
+ if (cpp > INT_MAX-1)
+ return (XpmNoMemory);
if (!(s = color->string = (char *) XpmMalloc(cpp + 1)))
return (XpmNoMemory);
*s++ = printable[c = a % MAXPRINTABLE];
@@ -423,6 +431,8 @@
}
/* first get character strings and rgb values */
+ if (ncolors > INT_MAX/sizeof(XColor) || cpp > INT_MAX-1)
+ return (XpmNoMemory);
xcolors = (XColor *) XpmMalloc(sizeof(XColor) * ncolors);
if (!xcolors)
return (XpmNoMemory);

View File

@ -1,4 +1,3 @@
@comment $FreeBSD$
%%MOTIF_DEMOS%%bin/DNDDemo
%%MOTIF_DEMOS%%bin/airport
%%MOTIF_DEMOS%%bin/autopopups
@ -241,6 +240,9 @@ include/Xm/ToggleB.h
include/Xm/ToggleBG.h
include/Xm/ToggleBGP.h
include/Xm/ToggleBP.h
include/Xm/ToolTipCT.h
include/Xm/ToolTipT.h
include/Xm/XmStrDefs23.h
include/Xm/TraitP.h
include/Xm/Transfer.h
include/Xm/TransferP.h
@ -341,15 +343,15 @@ lib/X11/system.mwmrc
lib/libMrm.a
lib/libMrm.la
lib/libMrm.so
lib/libMrm.so.3
lib/libMrm.so.4
lib/libUil.a
lib/libUil.la
lib/libUil.so
lib/libUil.so.3
lib/libUil.so.4
lib/libXm.a
lib/libXm.la
lib/libXm.so
lib/libXm.so.3
lib/libXm.so.4
%%MANUALS%%%%DOCSDIR%%/BUGREPORT
%%MANUALS%%%%DOCSDIR%%/COPYRIGHT.MOTIF
%%MANUALS%%%%DOCSDIR%%/README