motif package is retired on branch c10s for BAKERY-412

This commit is contained in:
Troy Dawson 2024-03-21 19:05:39 +00:00
parent 1139a14d53
commit e24319d704
21 changed files with 1 additions and 2301 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
/motif-2.3.4-src.tgz

View File

@ -1,32 +0,0 @@
From 2fa554b01ef6079a9b35df9332bdc4f139ed67e0 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat, 29 Apr 2023 17:50:39 -0700
Subject: [PATCH] Fix CVE-2023-43788: Out of bounds read in
XpmCreateXpmImageFromBuffer
When the test case for CVE-2022-46285 was run with the Address Sanitizer
enabled, it found an out-of-bounds read in ParseComment() when reading
from a memory buffer instead of a file, as it continued to look for the
closing comment marker past the end of the buffer.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
lib/Xm/Xpmdata.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Xm/Xpmdata.c b/lib/Xm/Xpmdata.c
index 7524e65..0b0f1f3 100644
--- a/lib/Xm/Xpmdata.c
+++ b/lib/Xm/Xpmdata.c
@@ -108,7 +108,7 @@ ParseComment(xpmData *data)
n++;
s2++;
} while (c == *s2 && *s2 != '\0' && c);
- if (*s2 == '\0') {
+ if (*s2 == '\0' || c == '\0') {
/* this is the end of the comment */
notend = 0;
mdata->cptr--;
--
2.41.0

View File

@ -1,36 +0,0 @@
From 7e21cb63b9a1ca760a06cc4cd9b19bbc3fcd8f51 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat, 29 Apr 2023 18:30:34 -0700
Subject: [PATCH] Fix CVE-2023-43789: Out of bounds read on XPM with corrupted
colormap
Found with clang's libfuzzer
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
lib/Xm/Xpmdata.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Xm/Xpmdata.c b/lib/Xm/Xpmdata.c
index 0b0f1f3..6e87455 100644
--- a/lib/Xm/Xpmdata.c
+++ b/lib/Xm/Xpmdata.c
@@ -259,13 +259,13 @@ xpmNextWord(
int c;
if (!mdata->type || mdata->type == XPMBUFFER) {
- while (isspace(c = *mdata->cptr) && c != mdata->Eos)
+ while ((c = *mdata->cptr) && isspace(c) && (c != mdata->Eos))
mdata->cptr++;
do {
c = *mdata->cptr++;
*buf++ = c;
n++;
- } while (!isspace(c) && c != mdata->Eos && n < buflen);
+ } while (c && !isspace(c) && (c != mdata->Eos) && (n < buflen));
n--;
mdata->cptr--;
} else {
--
2.41.0

1
dead.package Normal file
View File

@ -0,0 +1 @@
motif package is retired on branch c10s for BAKERY-412

View File

@ -1,815 +0,0 @@
From 4783fb4cec8624311bb87b2eb4a2ac94a5c7d849 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C5=A0abata?= <contyk@redhat.com>
Date: Thu, 8 Jun 2017 12:12:04 +0200
Subject: [PATCH] Fix issues with -Werror=format-security
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Šabata <contyk@redhat.com>
---
lib/Mrm/Mrmhier.c | 4 +-
lib/Mrm/Mrmicon.c | 4 +-
lib/Mrm/Mrmlread.c | 2 +-
lib/Mrm/Mrmwcrw.c | 4 +-
tools/wml/wmldbcreate.c | 2 +-
tools/wml/wmlouth.c | 128 ++++++++++++++++++++++++------------------------
tools/wml/wmloutkey.c | 10 ++--
tools/wml/wmloutmm.c | 16 +++---
tools/wml/wmlresolve.c | 26 +++++-----
9 files changed, 98 insertions(+), 98 deletions(-)
diff --git a/lib/Mrm/Mrmhier.c b/lib/Mrm/Mrmhier.c
index 2712742..2a8703c 100644
--- a/lib/Mrm/Mrmhier.c
+++ b/lib/Mrm/Mrmhier.c
@@ -264,10 +264,10 @@ Urm__OpenHierarchy (MrmCount num_files,
case MrmSUCCESS:
break;
case MrmNOT_VALID:
- sprintf (err_stg, _MrmMMsg_0113);
+ sprintf (err_stg, "%s", _MrmMMsg_0113);
break;
default:
- sprintf (err_stg, _MrmMMsg_0114);
+ sprintf (err_stg, "%s", _MrmMMsg_0114);
break;
}
}
diff --git a/lib/Mrm/Mrmicon.c b/lib/Mrm/Mrmicon.c
index 95d4086..191e2d2 100644
--- a/lib/Mrm/Mrmicon.c
+++ b/lib/Mrm/Mrmicon.c
@@ -1176,7 +1176,7 @@ Urm__RealizeColorTable (Screen *screen,
}
break;
default:
- sprintf(err_msg, _MrmMMsg_0040);
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
return Urm__UT_Error ("Urm__RelizeColorTable",
err_msg, NULL, NULL, MrmFAILURE) ;
}
@@ -1252,7 +1252,7 @@ Urm__RealizeColorTable (Screen *screen,
break;
default:
result = MrmFAILURE;
- sprintf (err_msg, _MrmMMsg_0040);
+ sprintf (err_msg, "%s", _MrmMMsg_0040);
Urm__UT_Error ("Urm__RelizeColorTable",
err_msg, NULL, NULL, MrmFAILURE) ;
}
diff --git a/lib/Mrm/Mrmlread.c b/lib/Mrm/Mrmlread.c
index c2fd94c..be433a3 100644
--- a/lib/Mrm/Mrmlread.c
+++ b/lib/Mrm/Mrmlread.c
@@ -698,7 +698,7 @@ MrmFetchColorLiteral (MrmHierarchy hierarchy_id,
XBlackPixelOfScreen(XDefaultScreenOfDisplay(display)));
break;
default:
- sprintf(err_msg, _MrmMMsg_0040);
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
result = Urm__UT_Error ("MrmFetchColorLiteral",
err_msg, NULL, NULL, MrmFAILURE) ;
_MrmAppUnlock(app);
diff --git a/lib/Mrm/Mrmwcrw.c b/lib/Mrm/Mrmwcrw.c
index fe3db52..3c5857f 100644
--- a/lib/Mrm/Mrmwcrw.c
+++ b/lib/Mrm/Mrmwcrw.c
@@ -1390,7 +1390,7 @@ Urm__CW_CreateArglist (Widget parent,
}
break;
default:
- sprintf (err_msg, _MrmMMsg_0040);
+ sprintf (err_msg, "%s", _MrmMMsg_0040);
result = Urm__UT_Error ("Urm__CW_ConvertValue",
err_msg, NULL, NULL, MrmFAILURE) ;
};
@@ -2426,7 +2426,7 @@ Urm__CW_ConvertValue (Widget parent,
}
break;
default:
- sprintf(err_msg, _MrmMMsg_0040);
+ sprintf(err_msg, "%s", _MrmMMsg_0040);
return Urm__UT_Error ("Urm__CW_ConvertValue",
err_msg, NULL, NULL, MrmFAILURE) ;
};
diff --git a/tools/wml/wmldbcreate.c b/tools/wml/wmldbcreate.c
index 07c0a3c..6de585a 100644
--- a/tools/wml/wmldbcreate.c
+++ b/tools/wml/wmldbcreate.c
@@ -425,7 +425,7 @@ int table_id;
{
fprintf (afile, "%d, ", entry_vec[j]);
}
- fprintf (afile, "\n");
+ fprintf (afile, "%s", "\n");
}
}
}
diff --git a/tools/wml/wmlouth.c b/tools/wml/wmlouth.c
index d2330e3..a52843f 100644
--- a/tools/wml/wmlouth.c
+++ b/tools/wml/wmlouth.c
@@ -225,12 +225,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymGen.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Write the sym_k..._object literals
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
{
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
@@ -244,7 +244,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
/*
* Define the sym_k_..._reason literals
*/
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_reason_ptr->hvec[ndx].objptr;
@@ -258,7 +258,7 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
/*
* Define the sym_k_..._arg literals
*/
-fprintf (outfil, canned4);
+fprintf (outfil, "%s", canned4);
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
@@ -272,7 +272,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
/*
* Define the sym_k_..._enumset structs and literals
*/
-fprintf (outfil, canned5);
+fprintf (outfil, "%s", canned5);
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
{
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
@@ -286,7 +286,7 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
/*
* Define the sym_k_..._enumval literals
*/
-fprintf (outfil, canned6);
+fprintf (outfil, "%s", canned6);
for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
{
enumvalobj = (WmlEnumValueDefPtr) wml_obj_enumval_ptr->hvec[ndx].objptr;
@@ -301,7 +301,7 @@ for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
* Define the sym_k_..._charsize literals
* Define the sym_k_..._charset literals
*/
-fprintf (outfil, canned7);
+fprintf (outfil, "%s", canned7);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
charsetobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
@@ -315,7 +315,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Define the sym_k_..._child literals
*/
-fprintf (outfil, canned8);
+fprintf (outfil, "%s", canned8);
for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
{
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[ndx].objptr;
@@ -379,12 +379,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymChCL.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Create table entries, similar to writing sym_k...
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
{
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[ndx].objptr;
@@ -392,7 +392,7 @@ for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
fprintf (outfil, " sym_k_%s_object,\n",
classobj->tkname);
}
-fprintf (outfil, canned1a);
+fprintf (outfil, "%s", canned1a);
/*
* close the output file
@@ -446,12 +446,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymArTy.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Create table entries, similar to writing sym_k...
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
@@ -459,7 +459,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
fprintf (outfil, " sym_k_%s_value,\n",
datobj->tkname);
}
-fprintf (outfil, canned1a);
+fprintf (outfil, "%s", canned1a);
/*
* close the output file
@@ -509,19 +509,19 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymRArg.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Create table entries, similar to writing sym_k...
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
fprintf (outfil, " %d,\n",
resobj->related_code);
}
-fprintf (outfil, canned1a);
+fprintf (outfil, "%s", canned1a);
/*
* close the output file
@@ -621,12 +621,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilUrmClas.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Write entries for widgets
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
{
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
@@ -637,7 +637,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
else
fprintf (outfil, " \"%s\",\t\n", synobj->convfunc);
}
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
/*
* Write entries for gadget variants of widget classes
@@ -661,7 +661,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
synobj->name);
}
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* Write entries for non-dialog widgets
@@ -685,7 +685,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
synobj->name);
}
}
-fprintf (outfil, canned4);
+fprintf (outfil, "%s", canned4);
/*
* Write entries for the resource a widget's controls map to
@@ -701,7 +701,7 @@ for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
else
fprintf (outfil, " sym_k_%s_arg,\n", mapresobj->tkname);
}
-fprintf (outfil, canned5);
+fprintf (outfil, "%s", canned5);
/*
* Write entries for arguments
@@ -714,7 +714,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
fprintf (outfil, " %s,\n",
synres->resliteral);
}
-fprintf (outfil, canned6);
+fprintf (outfil, "%s", canned6);
/*
* Write entries for reasons
@@ -727,7 +727,7 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
fprintf (outfil, " %s,\n",
synres->resliteral);
}
-fprintf (outfil, canned7);
+fprintf (outfil, "%s", canned7);
/*
* close the output file
@@ -781,13 +781,13 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilConst.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Process the arguments in code order. We start with 1, and write out
* the mask after processing 8 codes.
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
strcpy (maskbuf, "0");
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
{
@@ -805,7 +805,7 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
}
if ( bitno != 8 )
fprintf (outfil, "%s", maskbuf);
-fprintf (outfil, canned1a);
+fprintf (outfil, "%s", canned1a);
/*
* close the output file
@@ -878,8 +878,8 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymReas.h");
return;
}
-fprintf (outfil, canned_warn);
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned_warn);
+fprintf (outfil, "%s", canned1);
/*
* Generate the bit vectors for each class. Outer loop on the reason code,
@@ -919,19 +919,19 @@ for ( resndx=0 ; resndx<wml_obj_reason_ptr->cnt ; resndx++ )
if ( itemno != 0 )
fprintf (outfil, "%s 0};\n", maskbuf);
else
- fprintf (outfil, "};\n");
+ fprintf (outfil, "%s", "};\n");
}
/*
* Write the vector of vectors.
*/
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
for ( resndx=0 ; resndx<wml_obj_reason_ptr->cnt ; resndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_reason_ptr->hvec[resndx].objptr;
fprintf (outfil, " reason_class_vec%d,\n", resobj->sym_code);
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* close the output file
@@ -1004,8 +1004,8 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymArTa.h");
return;
}
-fprintf (outfil, canned_warn);
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned_warn);
+fprintf (outfil, "%s", canned1);
/*
* Generate the bit vectors for each class. Outer loop on the argument code,
@@ -1045,19 +1045,19 @@ for ( resndx=0 ; resndx<wml_obj_arg_ptr->cnt ; resndx++ )
if ( itemno != 0 )
fprintf (outfil, "%s 0};\n", maskbuf);
else
- fprintf (outfil, "};\n");
+ fprintf (outfil, "%s", "};\n");
}
/*
* Write the vector of vectors.
*/
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
for ( resndx=0 ; resndx<wml_obj_arg_ptr->cnt ; resndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[resndx].objptr;
fprintf (outfil, " arg_class_vec%d,\n", resobj->sym_code);
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* close the output file
@@ -1129,8 +1129,8 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymChTa.h");
return;
}
-fprintf (outfil, canned_warn);
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned_warn);
+fprintf (outfil, "%s", canned1);
/*
* Generate the bit vectors for each class. Outer loop on the child code,
@@ -1168,19 +1168,19 @@ for ( childndx=0 ; childndx<wml_obj_child_ptr->cnt ; childndx++ )
if ( itemno != 0 )
fprintf (outfil, "%s 0};\n", maskbuf);
else
- fprintf (outfil, "};\n");
+ fprintf (outfil, "%s", "};\n");
}
/*
* Write the vector of vectors.
*/
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
for ( childndx=0 ; childndx<wml_obj_child_ptr->cnt ; childndx++ )
{
childobj = (WmlChildDefPtr) wml_obj_child_ptr->hvec[childndx].objptr;
fprintf (outfil, " child_class_vec%d,\n", childobj->sym_code);
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* close the output file
@@ -1251,8 +1251,8 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymCtl.h");
return;
}
-fprintf (outfil, canned_warn);
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned_warn);
+fprintf (outfil, "%s", canned1);
/*
* Generate the bit vectors for each class. Outer loop on the class code,
@@ -1290,19 +1290,19 @@ for ( ctlndx=0 ; ctlndx<wml_obj_class_ptr->cnt ; ctlndx++ )
if ( itemno != 0 )
fprintf (outfil, "%s 0};\n", maskbuf);
else
- fprintf (outfil, "};\n");
+ fprintf (outfil, "%s", "};\n");
}
/*
* Write the vector of vectors.
*/
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
for ( ctlndx=0 ; ctlndx<wml_obj_class_ptr->cnt ; ctlndx++ )
{
clsobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ctlndx].objptr;
fprintf (outfil, " object_class_vec%d,\n", clsobj->sym_code);
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* close the output file
@@ -1438,7 +1438,7 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymNam.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Write entries for widgets
@@ -1517,7 +1517,7 @@ for ( ndx=0 ; ndx<wml_obj_child_ptr->cnt ; ndx++ )
fprintf (outfil, " \"%s\",\n",
synch->name);
}
-fprintf (outfil, canned7);
+fprintf (outfil, "%s", canned7);
/*
* close the output file
@@ -1621,12 +1621,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymEnum.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Generate the enumeration value vectors for each enumeration set.
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
{
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
@@ -1637,13 +1637,13 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
fprintf (outfil, " %d,\n",
evobj->sym_code);
}
- fprintf (outfil, " };\n");
+ fprintf (outfil, "%s", " };\n");
}
/*
* Generate the enumeration set tables
*/
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
{
enumsetobj = (WmlEnumSetDefPtr) wml_obj_enumset_ptr->hvec[ndx].objptr;
@@ -1655,7 +1655,7 @@ for ( ndx=0 ; ndx<wml_obj_enumset_ptr->cnt ; ndx++ )
/*
* Create enumset table entries for arguments, similar to writing sym_k...
*/
-fprintf (outfil, canned4);
+fprintf (outfil, "%s", canned4);
for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
{
resobj = (WmlResourceDefPtr) wml_obj_arg_ptr->hvec[ndx].objptr;
@@ -1669,13 +1669,13 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
/*
* Create the enumval values table.
*/
-fprintf (outfil, canned5);
+fprintf (outfil, "%s", canned5);
for ( ndx=0 ; ndx<wml_obj_enumval_ptr->cnt ; ndx++ )
{
evobj = (WmlEnumValueDefPtr) wml_obj_enumval_ptr->hvec[ndx].objptr;
fprintf (outfil, " %s,\n", evobj->syndef->enumlit);
}
-fprintf (outfil, canned5a);
+fprintf (outfil, "%s", canned5a);
/*
* close the output file
@@ -1813,12 +1813,12 @@ if ( outfil == (FILE *) NULL )
printf ("\nCouldn't open UilSymCSet.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Generate the standards name table
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
@@ -1836,7 +1836,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Generate the writing direction table
*/
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
@@ -1858,7 +1858,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Generate the parsing direction table
*/
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
@@ -1880,7 +1880,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Generate the character size table
*/
-fprintf (outfil, canned4);
+fprintf (outfil, "%s", canned4);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
@@ -1906,7 +1906,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Generate the $LANG name recognition table
*/
-fprintf (outfil, canned5);
+fprintf (outfil, "%s", canned5);
lang_max = 0;
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
@@ -1936,7 +1936,7 @@ for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
/*
* Generate the $LANG code lookup table, in upper case
*/
-fprintf (outfil, canned6);
+fprintf (outfil, "%s", canned6);
for ( ndx=0 ; ndx<wml_obj_charset_ptr->cnt ; ndx++ )
{
csobj = (WmlCharSetDefPtr) wml_obj_charset_ptr->hvec[ndx].objptr;
diff --git a/tools/wml/wmloutkey.c b/tools/wml/wmloutkey.c
index af42f22..4c14728 100644
--- a/tools/wml/wmloutkey.c
+++ b/tools/wml/wmloutkey.c
@@ -574,16 +574,16 @@ if ( outfil == NULL )
printf ("\nCouldn't open UilKeyTab.h");
return;
}
-fprintf (outfil, canned_warn);
+fprintf (outfil, "%s", canned_warn);
/*
* Print the case sensitive and insensitive tables
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
wmlOutputUilKeyTabBody (outfil, wml_tok_sens_ptr, &maxlen, &maxkey);
fprintf (outfil, canned2, maxlen, maxkey);
wmlOutputUilKeyTabBody (outfil, wml_tok_insens_ptr, &maxlen, &maxkey);
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* close the output file
@@ -812,8 +812,8 @@ if ( outfil == NULL )
printf ("\nCouldn't open UilTokName.h");
return;
}
-fprintf (outfil, canned_warn);
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned_warn);
+fprintf (outfil, "%s", canned1);
/*
* Print the token name entries
diff --git a/tools/wml/wmloutmm.c b/tools/wml/wmloutmm.c
index 84a97bb..dc8ec09 100644
--- a/tools/wml/wmloutmm.c
+++ b/tools/wml/wmloutmm.c
@@ -209,9 +209,9 @@ int ctlndx; /* to access ordered vector */
/*
* Write out header information
*/
-fprintf (outfil, canned1);
+fprintf (outfil, "%s", canned1);
fprintf (outfil, "%s\n", name);
-fprintf (outfil, canned2);
+fprintf (outfil, "%s", canned2);
/*
* Alphabetize the controls, reason, and argument lists
@@ -264,7 +264,7 @@ while ( ctlref != NULL )
rsnndx = 0;
ctlndx = 0;
if ( mm_ctl_ptr->cnt == 0 )
- fprintf (outfil, "No children are supported");
+ fprintf (outfil, "%s", "No children are supported");
while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
{
if ( ctlndx < mm_ctl_ptr->cnt )
@@ -275,7 +275,7 @@ while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
ctlndx += 1;
}
else
- fprintf (outfil, "@");
+ fprintf (outfil, "%s", "@");
if ( rsnndx < mm_rsn_ptr->cnt )
{
@@ -285,9 +285,9 @@ while ( rsnndx<mm_rsn_ptr->cnt || ctlndx<mm_ctl_ptr->cnt )
rsnndx += 1;
}
else
- fprintf (outfil, "\n");
+ fprintf (outfil, "%s", "\n");
}
-fprintf (outfil, canned3);
+fprintf (outfil, "%s", canned3);
/*
* Write out the argument table
@@ -319,11 +319,11 @@ while ( argndx < mm_arg_ptr->cnt )
argref->act_resource->syndef->dflt);
}
else
- fprintf (outfil, " \n");
+ fprintf (outfil, "%s", " \n");
}
argndx += 1;
}
-fprintf (outfil, canned4);
+fprintf (outfil, "%s", canned4);
}
diff --git a/tools/wml/wmlresolve.c b/tools/wml/wmlresolve.c
index 464ef29..3b8642c 100644
--- a/tools/wml/wmlresolve.c
+++ b/tools/wml/wmlresolve.c
@@ -1340,7 +1340,7 @@ for ( ndx=0 ; ndx<wml_obj_allclass_ptr->cnt ; ndx++ )
/*
* close the output file
*/
-fprintf (outfil, "\n\n");
+fprintf (outfil, "%s", "\n\n");
printf ("\nCreated report file wml.report");
fclose (outfil);
@@ -1369,14 +1369,14 @@ fprintf (outfil, "\n\n\nClass %s:", synobj->name);
switch ( synobj->type )
{
case WmlClassTypeMetaclass:
- fprintf (outfil, "\n Type: Metaclass\t");
+ fprintf (outfil, "%s", "\n Type: Metaclass\t");
if ( synobj->superclass != NULL )
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
if ( synobj->parentclass != NULL )
fprintf (outfil, "Parentclass: %s\t", synobj->parentclass);
break;
case WmlClassTypeWidget:
- fprintf (outfil, "\n Type: Widget\t");
+ fprintf (outfil, "%s", "\n Type: Widget\t");
if ( synobj->superclass != NULL )
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
if ( synobj->parentclass != NULL )
@@ -1388,7 +1388,7 @@ switch ( synobj->type )
fprintf (outfil, "Convenience function: %s", synobj->convfunc);
break;
case WmlClassTypeGadget:
- fprintf (outfil, "\n Type: Gadget\t");
+ fprintf (outfil, "%s", "\n Type: Gadget\t");
if ( synobj->superclass != NULL )
fprintf (outfil, "Superclass: %s\t", synobj->superclass);
if ( synobj->parentclass != NULL )
@@ -1414,19 +1414,19 @@ if ( clsobj->nondialog != NULL )
* is intended to match the way resources are printed in the toolkit manual,
* so that checking is as easy as possible.
*/
-fprintf (outfil, "\n Arguments:");
+fprintf (outfil, "%s", "\n Arguments:");
wmlResolvePrintClassArgs (outfil, clsobj);
/*
* Print the reasons valid in the class
*/
-fprintf (outfil, "\n Reasons:");
+fprintf (outfil, "%s", "\n Reasons:");
wmlResolvePrintClassReasons (outfil, clsobj);
/*
* Print the controls valid in the class
*/
-fprintf (outfil, "\n Controls:");
+fprintf (outfil, "%s", "\n Controls:");
for ( ndx=0 ; ndx<wml_obj_class_ptr->cnt ; ndx++ )
{
ctrlobj = (WmlClassDefPtr) wml_obj_class_ptr->hvec[ndx].objptr;
@@ -1512,10 +1512,10 @@ for ( ndx=0 ; ndx<wml_obj_arg_ptr->cnt ; ndx++ )
switch ( resref->exclude )
{
case WmlAttributeTrue:
- fprintf (outfil, "\n\tExclude = True;");
+ fprintf (outfil, "%s", "\n\tExclude = True;");
break;
case WmlAttributeFalse:
- fprintf (outfil, "\n\tExclude = False;");
+ fprintf (outfil, "%s", "\n\tExclude = False;");
break;
}
if ( resref->dflt != NULL )
@@ -1558,10 +1558,10 @@ if ( constr )
switch ( resref->exclude )
{
case WmlAttributeTrue:
- fprintf (outfil, "\n\tExclude = True;");
+ fprintf (outfil, "%s", "\n\tExclude = True;");
break;
case WmlAttributeFalse:
- fprintf (outfil, "\n\tExclude = False;");
+ fprintf (outfil, "%s", "\n\tExclude = False;");
break;
}
if ( resref->dflt != NULL )
@@ -1632,10 +1632,10 @@ for ( ndx=0 ; ndx<wml_obj_reason_ptr->cnt ; ndx++ )
switch ( resref->exclude )
{
case WmlAttributeTrue:
- fprintf (outfil, "\n\tExclude = True;");
+ fprintf (outfil, "%s", "\n\tExclude = True;");
break;
case WmlAttributeFalse:
- fprintf (outfil, "\n\tExclude = False;");
+ fprintf (outfil, "%s", "\n\tExclude = False;");
break;
}
resobj->ref_ptr = NULL;
--
2.13.0

View File

@ -1,36 +0,0 @@
diff -up openmotif-2.3.3/configure.ac.bindings openmotif-2.3.3/configure.ac
--- openmotif-2.3.3/configure.ac.bindings 2009-10-27 17:10:23.000000000 +0100
+++ openmotif-2.3.3/configure.ac 2010-03-19 11:12:39.000000000 +0100
@@ -185,7 +185,7 @@ AC_SUBST(MWMRCDIR)
INCDIR="${includedir}/X11"
AC_SUBST(INCDIR)
-XMBINDDIR_FALLBACK="${libdir}/X11/bindings"
+XMBINDDIR_FALLBACK="${datadir}/X11/bindings"
AC_SUBST(XMBINDDIR_FALLBACK)
RM="rm -f"
diff -up openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings openmotif-2.3.3/doc/man/man3/VirtualBindings.3
--- openmotif-2.3.3/doc/man/man3/VirtualBindings.3.bindings 2005-07-20 13:47:21.000000000 +0200
+++ openmotif-2.3.3/doc/man/man3/VirtualBindings.3 2010-03-19 11:11:42.000000000 +0100
@@ -90,7 +90,7 @@ bindings contained in that file\&.
If it has found no bindings, Motif next looks for the file
\fBxmbind\&.alias\fP in the directory specified by the environment
variable \fBXMBINDDIR\fP, if \fBXMBINDDIR\fP is set, or in the directory
-\fB/usr/lib/Xm/bindings\fP if \fBXMBINDDIR\fP is not set\&.
+\fB/usr/share/X11/bindings\fP if \fBXMBINDDIR\fP is not set\&.
If this file exists Motif searches it for a pathname associated with the
vendor string or with the vendor string and vendor release\&.
If it finds such a pathname and if that file exists, Motif loads the
diff -up openmotif-2.3.3/lib/Xm/XmosP.h.bindings openmotif-2.3.3/lib/Xm/XmosP.h
--- openmotif-2.3.3/lib/Xm/XmosP.h.bindings 2002-06-17 22:36:30.000000000 +0200
+++ openmotif-2.3.3/lib/Xm/XmosP.h 2010-03-19 11:11:42.000000000 +0100
@@ -188,7 +188,7 @@ extern "C" {
#define XMBINDDIR "XMBINDDIR"
#ifndef XMBINDDIR_FALLBACK
-#define XMBINDDIR_FALLBACK "/usr/lib/Xm/bindings"
+#define XMBINDDIR_FALLBACK "/usr/share/X11/bindings"
#endif
#define XMBINDFILE "xmbind.alias"
#define MOTIFBIND ".motifbind"

View File

@ -1,93 +0,0 @@
diff -up openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir openmotif-2.3.3/clients/mwm/WmResParse.c
--- openmotif-2.3.3/clients/mwm/WmResParse.c.mwmrc_dir 2009-06-22 23:51:51.000000000 +0200
+++ openmotif-2.3.3/clients/mwm/WmResParse.c 2010-03-23 13:37:03.000000000 +0100
@@ -2403,7 +2403,7 @@ FILE *FopenConfigFile (void)
#endif /* PANELIST */
#ifndef MWMRCDIR
-#define MWMRCDIR "/usr/lib/X11"
+#define MWMRCDIR "/etc/X11/mwm"
#endif
if (LANG != NULL)
{
diff -up openmotif-2.3.3/configure.ac.mwmrc_dir openmotif-2.3.3/configure.ac
--- openmotif-2.3.3/configure.ac.mwmrc_dir 2009-10-27 17:10:23.000000000 +0100
+++ openmotif-2.3.3/configure.ac 2010-03-23 13:38:33.000000000 +0100
@@ -179,7 +179,7 @@ AC_SUBST(CDE_CONFIGURATION_TOP)
LIBDIR="${libdir}/X11"
AC_SUBST(LIBDIR)
-MWMRCDIR="${libdir}/X11"
+MWMRCDIR="/etc/X11/mwm"
AC_SUBST(MWMRCDIR)
INCDIR="${includedir}/X11"
diff -up openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir openmotif-2.3.3/doc/man/man1/mwm.1
--- openmotif-2.3.3/doc/man/man1/mwm.1.mwmrc_dir 2002-01-05 16:21:11.000000000 +0100
+++ openmotif-2.3.3/doc/man/man1/mwm.1 2010-03-23 13:37:03.000000000 +0100
@@ -678,8 +678,8 @@ is set, \fBmwm\fP looks for \fI$HOME/$LA
\fB$HOME\fP/\fBconfigFile\fP\&. If the \fIconfigFile\fP pathname does not begin with "~/" or "/", \fBmwm\fP considers it to be relative to the current working directory\&. If
the \fIconfigFile\fP resource is not specified
or if that file does not exist, \fBmwm\fP uses several default
-paths to find a configuration file\&. The order of the search is shown below: \fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP\(dg
-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are
+paths to find a configuration file\&. The order of the search is shown below: \fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP\(dg
+\fB/etc/X11/mwm/system\&.mwmrc\fP\(dg Paths marked with \&'\(dg\&' are
implementation dependent\&.
.IP "\fIdeiconifyKeyFocus\fP\ (class\ \fIDeiconifyKeyFocus\fP)" 10
This resource applies only when the keyboard input focus policy is explicit\&.
@@ -1344,9 +1344,9 @@ the shell to use when executing commands
function\&.
.SS "Files"
.PP
-\fB/usr/X11R6/lib/X11/$LANG/system\&.mwmrc\fP
+\fB/etc/X11/mwm/$LANG/system\&.mwmrc\fP
.PP
-\fB/usr/X11R6/lib/X11/system\&.mwmrc\fP
+\fB/etc/X11/mwm/system\&.mwmrc\fP
.PP
\fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP
.PP
diff -up openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir openmotif-2.3.3/doc/man/man4/mwmrc.4
--- openmotif-2.3.3/doc/man/man4/mwmrc.4.mwmrc_dir 2002-01-05 16:21:12.000000000 +0100
+++ openmotif-2.3.3/doc/man/man4/mwmrc.4 2010-03-23 13:37:03.000000000 +0100
@@ -57,7 +57,7 @@ file that controls much of the behavior
It contains descriptions of resources that cannot easily be
written using standard X Window System, Version 11 resource syntax\&. The resource
description file contains entries that are referred to by X resources in
-defaults files (for example, \fB/usr/X11R6/lib/X11/app-defaults/Mwm\fP)
+defaults files (for example, \fB/usr/share/X11/app-defaults/Mwm\fP)
or in the \fBRESOURCE_MANAGER\fP property on the
root window\&. For example, the resource description file enables you to specify
different types of window menus; however, an X resource is used to specify
@@ -72,8 +72,8 @@ on a per-user basis:
.nf
\f(CW$HOME/$LANG/\&.mwmrc
$HOME/\&.mwmrc
-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc
-/usr/X11R6/lib/X11/system\&.mwmrc\fR
+/etc/X11/mwm/$LANG/system\&.mwmrc
+/etc/X11/mwm/system\&.mwmrc\fR
.fi
.PP
.PP
@@ -84,7 +84,7 @@ resource\&. The following shows how a di
be specified from the command line:
.PP
.nf
-\f(CW/usr/X11R6/bin/X11/mwm -xrm "mwm*configFile: mymwmrc"\fR
+\f(CW/usr/bin/mwm -xrm "mwm*configFile: mymwmrc"\fR
.fi
.PP
.SS "Resource Types"
@@ -626,8 +626,8 @@ is not what you expect\&.
.nf
\fB$HOME/$LANG/\&.mwmrc
$HOME/\&.mwmrc
-/usr/X11R6/lib/X11/$LANG/system\&.mwmrc
-/usr/X11R6/lib/X11/system\&.mwmrc\fP
+/etc/X11/mwm/$LANG/system\&.mwmrc
+/etc/X11/mwm/system\&.mwmrc\fP
.fi
.SH "RELATED INFORMATION"
.PP

View File

@ -1,13 +0,0 @@
diff -up openmotif-2.3.3/Makefile.am.no_demos openmotif-2.3.3/Makefile.am
--- openmotif-2.3.3/Makefile.am.no_demos 2008-09-19 16:38:05.000000000 +0200
+++ openmotif-2.3.3/Makefile.am 2010-03-23 13:53:13.000000000 +0100
@@ -29,7 +29,7 @@ SUBDIRS = bindings bitmaps \
include \
tools \
clients \
- doc \
- demos
+ doc
+
AUTOMAKE_OPTIONS = 1.4
ACLOCAL_AMFLAGS = -I .

View File

@ -1,182 +0,0 @@
commit 23d12d1f25b33773018bb873c21547b0f4aab14c
Author: Mykola Vshyvkov <mvshyvk@softserveinc.com>
Date: Wed Jun 26 15:34:53 2013 +0300
Fixed bug #1599 (Eliminates 14 warnings of incompatible type argument from some modules).
diff --git a/lib/Xm/ColorObj.c b/lib/Xm/ColorObj.c
index 63ed4748721a807e..b3a51eb99ffca232 100644
--- a/lib/Xm/ColorObj.c
+++ b/lib/Xm/ColorObj.c
@@ -62,7 +62,7 @@
#define WARNING2 _XmMMsgColObj_0002
#ifdef FIX_1400
-static void trap_XCloseDisplay(Display *disp, XExtCodes *codes);
+static int trap_XCloseDisplay(Display *disp, XExtCodes *codes);
#endif
/** default should not be killed unless application is dying **/
@@ -1543,9 +1543,10 @@ XmeGetDesktopColorCells (Screen * screen,
}
#ifdef FIX_1400
-static void trap_XCloseDisplay(Display *disp, XExtCodes *codes)
+static int trap_XCloseDisplay(Display *disp, XExtCodes *codes)
{
if (disp == _XmColorObjCacheDisplay)
_XmColorObjCacheDisplay = NULL;
+ return 0;
}
#endif
diff --git a/lib/Xm/Container.c b/lib/Xm/Container.c
index f0b35a919d3e36a3..6576783f055a86f9 100644
--- a/lib/Xm/Container.c
+++ b/lib/Xm/Container.c
@@ -3234,7 +3234,7 @@ ConstraintSetValues(
ContainerResetDepths(nc);
#ifdef FIX_1425
- FindMaxDepths(cc, cw);
+ FindMaxDepths(cc, (Widget)cw);
#else
cw->container.max_depth = MAX(cw->container.max_depth,nc->depth);
#endif
@@ -7181,7 +7181,7 @@ static void FindMaxDepths(XmContainerConstraint c, Widget w)
Widget child = node->widget_ptr;
XmContainerConstraint cc = GetContainerConstraint(child);
cw->container.max_depth = MAX(cw->container.max_depth, cc->depth);
- FindMaxDepths(cc, cw);
+ FindMaxDepths(cc, (Widget)cw);
node = node->next_ptr;
}
}
diff --git a/lib/Xm/DataF.c b/lib/Xm/DataF.c
index 622ee61a309c38af..a780c972e49069ba 100644
--- a/lib/Xm/DataF.c
+++ b/lib/Xm/DataF.c
@@ -8867,7 +8867,7 @@ df_LoadFontMetrics(
#ifdef USE_XFT
} else if (XmTextF_use_xft(tf)) {
#ifdef FIX_1415
- _XmXftFontAverageWidth((Widget) tf, TextF_XftFont(tf), &charwidth);
+ _XmXftFontAverageWidth((Widget) tf, TextF_XftFont(tf), (int *)&charwidth);
#else
charwidth = XmTextF_xft_font(tf)->max_advance_width;
#endif
diff --git a/lib/Xm/IconButton.c b/lib/Xm/IconButton.c
index 2cd206347b0bd895..5f2cae7a23853167 100644
--- a/lib/Xm/IconButton.c
+++ b/lib/Xm/IconButton.c
@@ -1870,7 +1870,7 @@ CreateGCs(Widget w)
#ifdef FIX_1381
/*generally gray insensitive foreground (instead stipple)*/
- values.foreground = _XmAssignInsensitiveColor(iw);
+ values.foreground = _XmAssignInsensitiveColor((Widget)iw);
XmIconButton_insensitive_text_gc(iw) = XtGetGC(w, smask, &values);
#else
XmIconButton_stippled_text_gc(iw) = XtGetGC(w, smask, &values);
diff --git a/lib/Xm/Label.c b/lib/Xm/Label.c
index 8f5621229d4314a6..fd4c63abb5747050 100644
--- a/lib/Xm/Label.c
+++ b/lib/Xm/Label.c
@@ -1562,7 +1562,7 @@ Redisplay(
#ifdef FIX_1505
if (pix_use == Pix(lw)) {
XSetFillStyle(XtDisplay(lw), gc, FillStippled);
- XSetStipple(XtDisplay(lw), gc, _XmGetInsensitiveStippleBitmap(lw));
+ XSetStipple(XtDisplay(lw), gc, _XmGetInsensitiveStippleBitmap((Widget)lw));
XFillRectangle(XtDisplay(lw), XtWindow(lw), gc,
lp->TextRect.x + lp->PixmapRect.x,
lp->TextRect.y + lp->PixmapRect.y,
diff --git a/lib/Xm/LabelG.c b/lib/Xm/LabelG.c
index d574e436df53a764..b674041fc9bc1f87 100644
--- a/lib/Xm/LabelG.c
+++ b/lib/Xm/LabelG.c
@@ -2452,7 +2452,7 @@ LRectangle *background_box)
#ifdef FIX_1505
if (pix_use == Pix(lw)) {
XSetFillStyle(XtDisplay(lw), gc, FillStippled);
- XSetStipple(XtDisplay(lw), gc, _XmGetInsensitiveStippleBitmap(lw));
+ XSetStipple(XtDisplay(lw), gc, _XmGetInsensitiveStippleBitmap((Widget)lw));
XFillRectangle(XtDisplay(lw), XtWindow(lw), gc,
lw->rectangle.x + LabG_TextRect(lw).x +
LabG_PixmapRect(lw).x,
diff --git a/lib/Xm/List.c b/lib/Xm/List.c
index 1dd16d2880f84ceb..98aec0e47c01c343 100644
--- a/lib/Xm/List.c
+++ b/lib/Xm/List.c
@@ -2486,7 +2486,7 @@ DrawItems(XmListWidget lw,
#ifdef FIX_1381
{
gc = lw->list.InsensitiveGC;
- _XmRendFG(lw->list.scratchRend) = _XmAssignInsensitiveColor(lw);
+ _XmRendFG(lw->list.scratchRend) = _XmAssignInsensitiveColor((Widget)lw);
}
#else
gc = lw->list.InsensitiveGC;
@@ -2831,7 +2831,7 @@ MakeGC(XmListWidget lw)
values.background = lw->core.background_pixel;
#ifdef FIX_1381
/*generally gray insensitive foreground (instead stipple)*/
- values.foreground = _XmAssignInsensitiveColor(lw);
+ values.foreground = _XmAssignInsensitiveColor((Widget)lw);
#else
values.foreground = lw->primitive.foreground;
valueMask |= GCStipple | GCFillStyle;
diff --git a/lib/Xm/ResEncod.c b/lib/Xm/ResEncod.c
index fdb44644c94be415..09d2d8f14d181379 100644
--- a/lib/Xm/ResEncod.c
+++ b/lib/Xm/ResEncod.c
@@ -2513,9 +2513,9 @@ processCharsetAndTextUtf8(XmStringCharSet tag,
/* Now copy in the text */
if (ctlen > 0) {
- char *text = Convert(ctext, ctlen, "UTF-8", tag);
+ char *text = Convert((char *)ctext, ctlen, "UTF-8", tag);
if (text == NULL) return(False);
- *outc = ctextConcat(*outc, *outlen, text, strlen(text));
+ *outc = ctextConcat(*outc, *outlen, (const_OctetPtr)text, strlen(text));
*outlen += ctlen;
XtFree(text);
};
diff --git a/lib/Xm/Text.c b/lib/Xm/Text.c
index 0cf37018bd68da52..427b613c97b12750 100644
--- a/lib/Xm/Text.c
+++ b/lib/Xm/Text.c
@@ -1745,7 +1745,7 @@ _XmTextUpdateLineTable(Widget widget,
}
_XmTextSetCursorPosition(widget, cursorPos);
} else if (start == tw->text.cursor_position && tw->text.auto_show_cursor_position) {
- _XmTextShowPosition(tw, cursorPos);
+ _XmTextShowPosition((Widget)tw, cursorPos);
}
}
#else
diff --git a/lib/Xm/TextF.c b/lib/Xm/TextF.c
index 6b7a85bd7a8fe836..e8f1c78a33cef5a2 100644
--- a/lib/Xm/TextF.c
+++ b/lib/Xm/TextF.c
@@ -6988,7 +6988,7 @@ LoadFontMetrics(XmTextFieldWidget tf)
#ifdef USE_XFT
} else if (TextF_UseXft(tf)) {
#ifdef FIX_1415
- _XmXftFontAverageWidth((Widget) tf, TextF_XftFont(tf), &charwidth);
+ _XmXftFontAverageWidth((Widget) tf, TextF_XftFont(tf), (int *)&charwidth);
#else
charwidth = TextF_XftFont(tf)->max_advance_width;
#endif
diff --git a/lib/Xm/TextIn.c b/lib/Xm/TextIn.c
index 40f2b5ad89d846da..b4f2d111f6277cdb 100644
--- a/lib/Xm/TextIn.c
+++ b/lib/Xm/TextIn.c
@@ -1345,7 +1345,7 @@ PrintableString(XmTextWidget tw,
#ifdef USE_XFT
} else if (o_data->use_xft) {
XGlyphInfo ext;
- XftTextExtentsUtf8(XtDisplay(tw), (XftFont*)o_data->font, str, n, &ext);
+ XftTextExtentsUtf8(XtDisplay(tw), (XftFont*)o_data->font, (_Xconst FcChar8 *)str, n, &ext);
return ext.xOff != 0;
#endif
} else {

View File

@ -1,54 +0,0 @@
commit 56dae22f7c2e7446852af1d68116f1809edae633
Author: Mykola Vshyvkov <mvshyvk@softserveinc.com>
Date: Wed Jun 26 19:21:20 2013 +0300
Fixed bug #1602 (Eliminates 6 warnings "implicit declaration of function" in some modules).
diff --git a/tools/wml/wml.c b/tools/wml/wml.c
index d8ad382ebb93f0cc..723288a9c29cead2 100644
--- a/tools/wml/wml.c
+++ b/tools/wml/wml.c
@@ -80,6 +80,7 @@ static char rcsid[] = "$TOG: wml.c /main/8 1999/04/16 09:41:47 mgreess $"
#endif
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
/*
@@ -159,6 +160,7 @@ void wmlInit ();
* External variables
*/
extern int yyleng;
+extern int yyparse();
diff --git a/tools/wml/wmloutp1.c b/tools/wml/wmloutp1.c
index c826c4f0fad65b68..ea6a8e2780d08d78 100644
--- a/tools/wml/wmloutp1.c
+++ b/tools/wml/wmloutp1.c
@@ -45,6 +45,11 @@ static char rcsid[] = "$XConsortium: wmloutp1.c /main/7 1995/07/13 21:04:31 drk
#include "wml.h"
+/* External functions declaraion */
+extern void wmlOutputKeyWordFiles ();
+extern void wmlOutputMmFiles();
+
+
void wmlOutput ()
diff --git a/tools/wml/wmlresolve.c b/tools/wml/wmlresolve.c
index 3b8642c12474cfbd..c9bc84151f8a7902 100644
--- a/tools/wml/wmlresolve.c
+++ b/tools/wml/wmlresolve.c
@@ -58,6 +58,7 @@ static char rcsid[] = "$XConsortium: wmlresolve.c /main/9 1995/08/29 11:11:05 dr
#include <stdlib.h>
#endif
#include <stdio.h>
+#include <string.h>
/*
* Routines used only in this module

View File

@ -1,134 +0,0 @@
commit d094e8c4a6a1890520ade3e1900229454dc2eac2
Author: Mykola Vshyvkov <mvshyvk@softserveinc.com>
Date: Mon Jul 1 19:02:25 2013 +0300
Fixed bug #1605 (Eliminates 14 warnings of some types in WML tool).
diff --git a/lib/Xm/XmRenderT.c b/lib/Xm/XmRenderT.c
index 0abd71265fc901b9..5ecd38bef29d2c6b 100644
--- a/lib/Xm/XmRenderT.c
+++ b/lib/Xm/XmRenderT.c
@@ -1993,7 +1993,7 @@ GetSameRenditions(XmRendition *rend_cache, XmRendition rend, int count_rend)
for (i=0; i<count_rend; i++){
if ( rend_cache && (rend_cache[i])
- && (((_XmRendFontName(rend) && _XmRendFontName(rend_cache[i]) ) && !strcmp(_XmRendFontName(rend_cache[i]), _XmRendFontName(rend))
+ && ((((_XmRendFontName(rend) && _XmRendFontName(rend_cache[i]) ) && !strcmp(_XmRendFontName(rend_cache[i]), _XmRendFontName(rend)))
|| (!_XmRendFontName(rend) && !_XmRendFontName(rend_cache[i])))
&& (((_XmRendFontFoundry(rend) && _XmRendFontFoundry(rend_cache[i])) && !strcmp(_XmRendFontFoundry(rend_cache[i]), _XmRendFontFoundry(rend)))
|| (!_XmRendFontFoundry(rend) && !_XmRendFontFoundry(rend_cache[i])))
diff --git a/tools/wml/wml.h b/tools/wml/wml.h
index 91d3857d005b90ce..d4bd405d6f910cc8 100644
--- a/tools/wml/wml.h
+++ b/tools/wml/wml.h
@@ -678,6 +678,19 @@ extern void wmlCreateCharset ();
extern void wmlAddCharsetAttribute ();
extern void LexIssueError ();
+/* May be, declaration of functions must be next:
+extern void wmlAddClassChild ();
+extern void wmlCreateChild ();
+extern void wmlCreateOrAppendCtrlList ();
+extern void wmlAddCtrlListControl ();
+ But, we are using real function arguments type declaration:
+*/
+extern void wmlAddClassChild (char *);
+extern void wmlCreateChild (char *, char *);
+extern void wmlCreateOrAppendCtrlList (char *);
+extern void wmlAddCtrlListControl (char *);
+
+
/*
* Defined in wmlresolve.c
diff --git a/tools/wml/wmldbcreate.c b/tools/wml/wmldbcreate.c
index 6de585ae8d12c17d..b6b12dca6aad399d 100644
--- a/tools/wml/wmldbcreate.c
+++ b/tools/wml/wmldbcreate.c
@@ -260,7 +260,7 @@ void emit_chars(table_id)
int table_id;
{
_db_header header;
- unsigned char *ptr;
+ unsigned char *ptr = NULL;
int i;
switch (table_id)
@@ -338,7 +338,7 @@ void emit_ints_and_string(table_id)
int table_id;
{
_db_header header;
- key_keytable_entry_type *table;
+ key_keytable_entry_type *table = NULL;
int i;
switch (table_id)
@@ -376,7 +376,7 @@ void emit_ints_and_string(table_id)
void emit_char_table(table_id)
int table_id;
{
- unsigned char **table;
+ unsigned char **table = NULL;
_db_header header;
unsigned char *entry_vec;
int i, j;
@@ -437,7 +437,7 @@ int table_id;
_db_header header;
int *lengths;
char *string_table;
- char **table;
+ char **table = NULL;
int i;
switch (table_id)
@@ -558,7 +558,7 @@ void emit_shorts(table_id)
int table_id;
{
_db_header header;
- unsigned short int *ptr;
+ unsigned short int *ptr = NULL;
int i;
switch (table_id)
@@ -624,7 +624,7 @@ void emit_int_and_table_shorts(table_id)
int table_id;
{
_db_header header;
- UilEnumSetDescDef *table;
+ UilEnumSetDescDef *table = NULL;
int j, i;
unsigned short int *value_vec;
@@ -657,7 +657,7 @@ void emit_ints(table_id)
int table_id;
{
_db_header header;
- int *ptr;
+ int *ptr = NULL;
int i;
switch (table_id)
diff --git a/tools/wml/wmllex.l b/tools/wml/wmllex.l
index ea21dfe64176e75f..5e3158d3a54e448c 100644
--- a/tools/wml/wmllex.l
+++ b/tools/wml/wmllex.l
@@ -95,7 +95,6 @@ int yytknval2; /* terminal token value 2 */
"Gadget" { return GADGET;}
"Argument" { return ARGUMENT;}
"Reason" { return REASON;}
-"Constraint" { return CONSTRAINT;}
"SubResource" { return SUBRESOURCE;}
"True" { return ATTRTRUE; }
"False" { return ATTRFALSE; }
diff --git a/tools/wml/wmluiltok.l b/tools/wml/wmluiltok.l
index d334e4f46302cde9..f02d9fec34d821ce 100644
--- a/tools/wml/wmluiltok.l
+++ b/tools/wml/wmluiltok.l
@@ -82,6 +82,7 @@ TokenRec token[1000];
TokenRec temp;
void add_token ();
+int yywrap ();
int phase = 0;
int keyword_count;

View File

@ -1,147 +0,0 @@
commit 7a52b1ea7e1ec88ba854db30a51d9f68f2f0078f
Author: Mykola Vshyvkov <mvshyvk@softserveinc.com>
Date: Wed Jul 3 18:52:21 2013 +0300
Fixed bug #1609 (Eliminates 18 warnings of "incompatible implicit declaration" in modules of "clients" catalog).
diff --git a/clients/mwm/WmCmd.c b/clients/mwm/WmCmd.c
index f21d41d541dc50a3..4d723aa4848314f6 100644
--- a/clients/mwm/WmCmd.c
+++ b/clients/mwm/WmCmd.c
@@ -48,6 +48,7 @@
#include "WmWsm.h"
#include "WmDebug.h"
#include "WmWinConf.h"
+#include "WmFeedback.h"
diff --git a/clients/mwm/WmCmd.h b/clients/mwm/WmCmd.h
index ff779defe240933b..e8bc104e850c5ec3 100644
--- a/clients/mwm/WmCmd.h
+++ b/clients/mwm/WmCmd.h
@@ -59,5 +59,8 @@ extern void AddWindowMenuEntry (ClientData *);
extern void DeleteCommand (long, CmdTree **);
extern void SendInvokeMessage (CARD32, CARD32, Atom, Time);
+extern void
+GetAutomationData (XtPointer input, Atom *outputType, XtPointer *output, unsigned long *outputLen, int *outputFmt);
+
#endif /* _WM_CMD_ */
diff --git a/clients/mwm/WmFunction.c b/clients/mwm/WmFunction.c
index 9a2102bcf80cbf08..94fb8cde2c0ec83d 100644
--- a/clients/mwm/WmFunction.c
+++ b/clients/mwm/WmFunction.c
@@ -112,6 +112,7 @@ extern pid_t vfork();
#include "WmWinList.h"
#include "WmWinState.h"
#include "WmXSMP.h"
+#include "WmCmd.h"
#include <Xm/RowColumnP.h> /* for MS_LastManagedMenuTime */
extern XmMenuState _XmGetMenuState();
diff --git a/clients/mwm/WmInitWs.c b/clients/mwm/WmInitWs.c
index aaa584cd3e4ce7b7..d29b5f96fec246fc 100644
--- a/clients/mwm/WmInitWs.c
+++ b/clients/mwm/WmInitWs.c
@@ -134,6 +134,7 @@ typedef struct
#include <stdlib.h>
#endif /* WSM */
#include "WmXSMP.h"
+#include "Xm/VirtKeysI.h"
/*
* Function Declarations:
diff --git a/clients/mwm/WmResParse.c b/clients/mwm/WmResParse.c
index 465f5b4d29e99411..a63e928acd643c54 100644
--- a/clients/mwm/WmResParse.c
+++ b/clients/mwm/WmResParse.c
@@ -63,6 +63,7 @@ static char rcsid[] = "$XConsortium: WmResParse.c /main/9 1996/11/01 10:17:34 dr
#include "WmResource.h"
#include <Xm/VirtKeysP.h>
+#include "Xm/VirtKeysI.h"
#include <X11/cursorfont.h>
#include <X11/keysym.h>
diff --git a/clients/mwm/WmWinList.c b/clients/mwm/WmWinList.c
index a45a4fc9471ab21d..31472a5caa832d90 100644
--- a/clients/mwm/WmWinList.c
+++ b/clients/mwm/WmWinList.c
@@ -63,7 +63,7 @@ static char rcsid[] = "$TOG: WmWinList.c /main/8 1997/06/10 15:50:50 samborn $"
#ifdef WSM
#include "WmWrkspace.h"
#endif /* WSM */
-
+#include "WmEvent.h"
diff --git a/clients/mwm/WmWsmLib/recv.c b/clients/mwm/WmWsmLib/recv.c
index 8b2833fbc2ea756f..06908e24756b0e3c 100644
--- a/clients/mwm/WmWsmLib/recv.c
+++ b/clients/mwm/WmWsmLib/recv.c
@@ -38,6 +38,8 @@ XtPointer *, unsigned long *, int *
);
#endif /* JUNK */
+extern Time GetTimestamp (Display *dpy);
+
/* Function Name: WSMDefaultOwnSelection
* Description: This is the default routine that owns the proper
diff --git a/clients/mwm/WmWsmLib/send.c b/clients/mwm/WmWsmLib/send.c
index 8792e2c7c8ac82bb..c261da70bfff366a 100644
--- a/clients/mwm/WmWsmLib/send.c
+++ b/clients/mwm/WmWsmLib/send.c
@@ -45,6 +45,8 @@ static void ReplyReceived(
Widget, XtPointer, Atom *, Atom *, XtPointer, unsigned long *, int *
);
+extern Time GetTimestamp (Display *dpy);
+
/* Function Name: WSMSendMessage
* Description: Sends a message to WSM or WM on the screen
* and display specified.
diff --git a/clients/uil/UilDefI.h b/clients/uil/UilDefI.h
index a0176b619e89f1eb..f17bff764bf6fd1e 100644
--- a/clients/uil/UilDefI.h
+++ b/clients/uil/UilDefI.h
@@ -608,7 +608,7 @@ extern void sym_dump_object_variant _ARGUMENTS(( sym_def_obj_entry_type *az_sym
extern void sym_dump_root_entry _ARGUMENTS(( sym_root_entry_type *az_symbol_entry ));
extern char *sym_section_text _ARGUMENTS(( int b_type ));
extern void dump_free_list _ARGUMENTS(( void ));
-
+extern int sar_get_units_type (yystype *parse_frame);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
diff --git a/clients/uil/UilMain.c b/clients/uil/UilMain.c
index 6120eda2fa176670..1864ba78597e2dd6 100644
--- a/clients/uil/UilMain.c
+++ b/clients/uil/UilMain.c
@@ -104,9 +104,10 @@ static void UilWrapup _ARGUMENTS((Uil_compile_desc_type *compile_desc));
#endif
externaldef(uilmsg) nl_catd uil_catd = NULL;
-
#endif
+extern int yyparse();
+
/*
**
** MODULE Definitions
diff --git a/clients/xmbind/xmbind.c b/clients/xmbind/xmbind.c
index f3d5a67ce35dab84..a16e2d968c45f7f0 100644
--- a/clients/xmbind/xmbind.c
+++ b/clients/xmbind/xmbind.c
@@ -29,6 +29,7 @@ static char rcsid[] = "$TOG: xmbind.c /main/10 1997/06/18 17:34:48 samborn $"
#endif
#endif
#include <stdio.h>
+#include <stdlib.h>
#include <Xm/Xm.h>
/* Internal routines "borrowed" from libXm. Don't try this at home! */

View File

@ -1,19 +0,0 @@
Unconditionally include <string.h>, to avoid implicit function
declarations. libXpm defines SYSV during the build, which is why they
do not see t his isssue.
diff --git a/lib/Xm/XpmI.h b/lib/Xm/XpmI.h
index bbba02b0cac1f91e..3468f2d1edf84f7c 100644
--- a/lib/Xm/XpmI.h
+++ b/lib/Xm/XpmI.h
@@ -118,9 +118,9 @@ extern "C" {
extern FILE *popen();
#endif
-#if defined(SYSV) || defined(SVR4) || defined(VMS) || defined(WIN32) || defined (_SVID_SOURCE)
#include <string.h>
+#if defined(SYSV) || defined(SVR4) || defined(VMS) || defined(WIN32) || defined (_SVID_SOURCE)
#ifndef index
#define index strchr
#endif

View File

@ -1,40 +0,0 @@
Stop defining VOID_SPRINTF, following what upstream libXpm does. The
check has an implicit declaration of exit and an implicit int, so it
will fail to build with future compilers.
diff --git a/acinclude.m4 b/acinclude.m4
index 88edfce3d169a267..38409a28a65cb028 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -45,19 +45,6 @@ if test $lt_cv_xthreads = yes; then
fi
])
-dnl This test is not very reliable probably ...
-AC_DEFUN([AM_FUNC_VOID_SPRINTF],
-[AC_CACHE_CHECK(whether sprintf returns void, ac_cv_func_void_sprintf,
-[AC_TRY_RUN([#include <stdio.h>
-int sprintf(); main() { exit(sprintf(".")); }],
- ac_cv_func_void_sprintf=no, ac_cv_func_void_sprintf=yes, ac_cv_func_void_sprintf=yes)])
-if test $ac_cv_func_void_sprintf = no; then
- AC_DEFINE(VOID_SPRINTF,1,
- [Define if sprintf doesn't return the number of chars written])
-fi
-])
-
-
dnl
dnl End of special macros.
dnl
diff --git a/configure.ac b/configure.ac
index 3b412361e6f43da4..6cbeb2f5eea235eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -120,7 +120,6 @@ AC_FUNC_STRCOLL
AC_FUNC_STRFTIME
AC_FUNC_FORK([])
AC_FUNC_VPRINTF
-AM_FUNC_VOID_SPRINTF
AC_CHECK_FUNCS(wcslen wcscpy wcsncpy wcschr wcscat wcsncat getcwd gettimeofday mkdir re_comp regcmp select strcspn strerror strstr strtod strtol uname)
AC_CHECK_FUNCS(strdup,,AC_DEFINE(NEED_STRDUP, 1, no strdup))
AC_CHECK_FUNCS(strcasecmp,,AC_DEFINE(NEED_STRCASECMP, 1, no strcasecmp))

View File

@ -1,20 +0,0 @@
Another implicit declaration of exit in the -DXTHREADS check, which
will go wrong with future compilers that do not support implicit
function declarations.
diff --git a/acinclude.m4 b/acinclude.m4
index 61706f3e63d94d8a..88edfce3d169a267 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -22,9 +22,9 @@ int main() {
Boolean brc;
brc=XtToolkitThreadInitialize();
if (True==brc)
- exit(0);
+ return 0;
else
- exit(1);
+ return 1;
}
],
lt_cv_xthreads=yes,

View File

@ -1,583 +0,0 @@
Summary: Run-time libraries and programs
Name: motif
Version: 2.3.4
Release: 33%{?dist}
License: LGPLv2+
Source: http://downloads.sf.net/motif/motif-%{version}-src.tgz
Source1: xmbind
URL: http://www.motifzone.net/
Obsoletes: openmotif < 2.3.4
Provides: openmotif = %{version}-%{release}
Requires: xorg-x11-xbitmaps
Requires: xorg-x11-xinit
BuildRequires: make
BuildRequires: automake, libtool, autoconf, flex
# flex static libs have been part of flex for RHEL <= 6 and Fedora <= 12
%if 0%{?fedora} > 12 || 0%{?rhel} > 6
BuildRequires: flex-static
%endif
BuildRequires: byacc, pkgconfig
BuildRequires: libjpeg-devel libpng-devel
BuildRequires: libXft-devel libXmu-devel libXp-devel libXt-devel libXext-devel
BuildRequires: xorg-x11-xbitmaps
BuildRequires: perl-interpreter
Patch22: motif-2.3.4-no_demos.patch
Patch23: openMotif-2.2.3-uil_lib.patch
Patch43: openMotif-2.3.0-rgbtxt.patch
Patch45: motif-2.3.4-mwmrc_dir.patch
Patch46: motif-2.3.4-bindings.patch
Patch47: openMotif-2.3.0-no_X11R6.patch
# FTBFS #1448819
Patch48: motif-2.3.4-Fix-issues-with-Werror-format-security.patch
Patch49: motif-configure-c99.patch
Patch50: motif-c99-void-sprintf.patch
Patch51: motif-c99-string.patch
Patch52: motif-c99-bug1602.patch
Patch53: motif-c99-bug1605.patch
Patch54: motif-c99-bug1609.patch
# CVE-2023-43788
Patch55: 0001-Fix-CVE-2023-43788-Out-of-bounds-read-in-XpmCreateXp.patch
# CVE-2023-43789
Patch56: 0001-Fix-CVE-2023-43789-Out-of-bounds-read-on-XPM-with-co.patch
Patch57: motif-c99-bug1599.patch
Conflicts: lesstif <= 0.92.32-6
%description
This is the Motif %{version} run-time environment. It includes the
Motif shared libraries, needed to run applications which are dynamically
linked against Motif and the Motif Window Manager mwm.
%package devel
Summary: Development libraries and header files
Conflicts: lesstif-devel <= 0.92.32-6
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libjpeg-devel%{?_isa} libpng-devel%{?_isa}
Requires: libXft-devel%{?_isa} libXmu-devel%{?_isa} libXp-devel%{?_isa}
Requires: libXt-devel%{?_isa} libXext-devel%{?_isa}
Obsoletes: openmotif-devel < 2.3.4
Provides: openmotif-devel = %{version}-%{release}
%description devel
This is the Motif %{version} development environment. It includes the
header files and also static libraries necessary to build Motif applications.
%package static
Summary: Static libraries
Conflicts: lesstif-devel <= 0.92.32-6
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
This package contains the static Motif libraries.
%prep