[27429] trunk/dports/x11/qt3

source_changes at macosforge.org source_changes at macosforge.org
Fri Aug 3 09:49:15 PDT 2007


Revision: 27429
          http://trac.macosforge.org/projects/macports/changeset/27429
Author:   takanori at macports.org
Date:     2007-08-03 09:49:15 -0700 (Fri, 03 Aug 2007)

Log Message:
-----------
Fixed a potential vulnerability in QTextEdit. (CVE-2007-3388)
http://trolltech.com/company/newsroom/announcements/press.2007-07-27.7503755960

Modified Paths:
--------------
    trunk/dports/x11/qt3/Portfile

Added Paths:
-----------
    trunk/dports/x11/qt3/files/170529.diff

Modified: trunk/dports/x11/qt3/Portfile
===================================================================
--- trunk/dports/x11/qt3/Portfile	2007-08-03 16:46:51 UTC (rev 27428)
+++ trunk/dports/x11/qt3/Portfile	2007-08-03 16:49:15 UTC (rev 27429)
@@ -5,6 +5,7 @@
 PortSystem 1.0
 name		qt3
 version		3.3.8
+revision	1
 categories	x11
 maintainers	nomaintainer at macports.org
 description	Qt Tool Kit
@@ -72,6 +73,8 @@
 			    patches/0077-utf8-decoder-fixes.diff } {
 			    	system "cd ${worksrcpath} && patch -p0 --fuzz=4 < ${workpath}/${p}"
 		}
+		# See http://trolltech.com/company/newsroom/announcements/press.2007-07-27.7503755960 (CVE-2007-3388)
+		system "cd ${worksrcpath} && patch -p4 < ${filespath}/170529.diff"
 }
 
 post-patch	{

Added: trunk/dports/x11/qt3/files/170529.diff
===================================================================
--- trunk/dports/x11/qt3/files/170529.diff	                        (rev 0)
+++ trunk/dports/x11/qt3/files/170529.diff	2007-08-03 16:49:15 UTC (rev 27429)
@@ -0,0 +1,189 @@
+--- //depot/qt/3/src/widgets/qtextedit.cpp	Mon Jul 16 10:44:40 CEST 2007
++++ //depot/qt/3/src/widgets/qtextedit.cpp	Mon Jul 16 10:44:40 CEST 2007
+
+@@ -6349,7 +6349,7 @@
+ 		    cur = tag->prev;
+ 		    if ( !cur ) {
+ #ifdef QT_CHECK_RANGE
+-			qWarning( "QTextEdit::optimParseTags: no left-tag for '<" + tag->tag + ">' in line %d.", tag->line + 1 );
++			qWarning( "QTextEdit::optimParseTags: no left-tag for '<%s>' in line %d.", tag->tag.ascii(), tag->line + 1 );
+ #endif
+ 			return; // something is wrong - give up
+ 		    }
+@@ -6372,7 +6372,7 @@
+ 				    break;
+ 				} else if ( !cur->leftTag ) {
+ #ifdef QT_CHECK_RANGE
+-				    qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<" + cur->tag + ">' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->line + 1 );
++				    qWarning( "QTextEdit::optimParseTags: mismatching %s-tag for '<%s>' in line %d.", cur->tag[0] == '/' ? "left" : "right", cur->tag.ascii(), cur->line + 1 );
+ #endif
+ 				    return; // something is amiss - give up
+ 				}
+--- //depot/qt/3/src/sql/qdatatable.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/sql/qdatatable.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -1043,8 +1043,8 @@
+ 	return FALSE;
+     if ( !sqlCursor()->canInsert() ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning("QDataTable::insertCurrent: insert not allowed for " +
+-		 sqlCursor()->name() );
++	qWarning("QDataTable::insertCurrent: insert not allowed for %s",
++		 sqlCursor()->name().latin1() );
+ #endif
+ 	endInsert();
+ 	return FALSE;
+@@ -1117,16 +1117,16 @@
+ 	return FALSE;
+     if ( sqlCursor()->primaryIndex().count() == 0 ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning("QDataTable::updateCurrent: no primary index for " +
+-		 sqlCursor()->name() );
++	qWarning("QDataTable::updateCurrent: no primary index for %s",
++		 sqlCursor()->name().latin1() );
+ #endif
+ 	endUpdate();
+ 	return FALSE;
+     }
+     if ( !sqlCursor()->canUpdate() ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning("QDataTable::updateCurrent: updates not allowed for " +
+-		 sqlCursor()->name() );
++	qWarning("QDataTable::updateCurrent: updates not allowed for %s",
++		 sqlCursor()->name().latin1() );
+ #endif
+ 	endUpdate();
+ 	return FALSE;
+@@ -1191,8 +1191,8 @@
+ 	return FALSE;
+     if ( sqlCursor()->primaryIndex().count() == 0 ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning("QDataTable::deleteCurrent: no primary index " +
+-		 sqlCursor()->name() );
++	qWarning("QDataTable::deleteCurrent: no primary index %s",
++		 sqlCursor()->name().latin1() );
+ #endif
+ 	return FALSE;
+     }
+
+--- //depot/qt/3/src/sql/qsqldatabase.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/sql/qsqldatabase.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -234,7 +234,8 @@
+ 	db->open();
+ #ifdef QT_CHECK_RANGE
+ 	if ( !db->isOpen() )
+-	    qWarning("QSqlDatabaseManager::database: unable to open database: " + db->lastError().databaseText() + ": " + db->lastError().driverText() );
++	    qWarning("QSqlDatabaseManager::database: unable to open database: %s: %s",
++                    db->lastError().databaseText().latin1(), db->lastError().driverText().latin1() );
+ #endif
+     }
+     return db;
+@@ -686,7 +687,7 @@
+     if ( !d->driver ) {
+ #ifdef QT_CHECK_RANGE
+ 	qWarning( "QSqlDatabase: %s driver not loaded", type.latin1() );
+-	qWarning( "QSqlDatabase: available drivers: " + drivers().join(" ") );
++	qWarning( "QSqlDatabase: available drivers: %s", drivers().join(" ").latin1() );
+ #endif
+ 	d->driver = new QNullDriver();
+ 	d->driver->setLastError( QSqlError( "Driver not loaded", "Driver not loaded" ) );
+
+--- //depot/qt/3/src/sql/qsqlindex.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/sql/qsqlindex.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -273,7 +273,7 @@
+ 	if ( field )
+ 	    newSort.append( *field, desc );
+ 	else
+-	    qWarning( "QSqlIndex::fromStringList: unknown field: '" + f + "'" );
++	    qWarning( "QSqlIndex::fromStringList: unknown field: '%s'", f.latin1());
+     }
+     return newSort;
+ }
+
+--- //depot/qt/3/src/sql/qsqlrecord.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/sql/qsqlrecord.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -298,7 +298,7 @@
+ 	    return i;
+     }
+ #ifdef QT_CHECK_RANGE
+-    qWarning( "QSqlRecord::position: unable to find field " + name );
++    qWarning( "QSqlRecord::position: unable to find field %s", name.latin1() );
+ #endif
+     return -1;
+ }
+@@ -313,7 +313,7 @@
+     checkDetach();
+     if ( !sh->d->contains( i ) ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
++	qWarning( "QSqlRecord::field: index out of range: %d", i );
+ #endif
+ 	return 0;
+     }
+@@ -344,7 +344,7 @@
+ {
+     if ( !sh->d->contains( i ) ) {
+ #ifdef QT_CHECK_RANGE
+-	qWarning( "QSqlRecord::field: index out of range: " + QString::number( i ) );
++	qWarning( "QSqlRecord::field: index out of range: %d", i  );
+ #endif // QT_CHECK_RANGE
+ 	return 0;
+     }
+
+--- //depot/qt/3/src/tools/qglobal.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/tools/qglobal.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -680,7 +680,7 @@
+     if ( code != -1 )
+ 	qWarning( "%s\n\tError code %d - %s", msg, code, strerror( code ) );
+     else
+-	qWarning( msg );
++	qWarning( "%s", msg );
+ #endif
+ #else
+     Q_UNUSED( msg );
+
+--- //depot/qt/3/src/xml/qsvgdevice.cpp	Mon Jul 16 10:45:03 CEST 2007
++++ //depot/qt/3/src/xml/qsvgdevice.cpp	Mon Jul 16 10:45:03 CEST 2007
+
+@@ -978,7 +978,7 @@
+ 		// ### catch references to embedded .svg files
+ 		QPixmap pix;
+ 		if ( !pix.load( href ) ) {
+-		    qWarning( "QSvgDevice::play: Couldn't load image "+href );
++		    qWarning( "QSvgDevice::play: Couldn't load image %s", href.latin1() );
+ 		    break;
+ 		}
+ 		pt->drawPixmap( QRect( x1, y1, w, h ), pix );
+@@ -1024,8 +1024,8 @@
+                 break;
+ 	    }
+ 	case InvalidElement:
+-	    qWarning( "QSvgDevice::play: unknown element type " +
+-		      node.nodeName() );
++	    qWarning( "QSvgDevice::play: unknown element type %s",
++		      node.nodeName().latin1() );
+ 	    break;
+ 	};
+ 
+@@ -1111,7 +1111,7 @@
+ {
+     QRegExp reg( QString::fromLatin1("([+-]?\\d*\\.*\\d*[Ee]?[+-]?\\d*)(em|ex|px|%|pt|pc|cm|mm|in|)$") );
+     if ( reg.search( str ) == -1 ) {
+-	qWarning( "QSvgDevice::parseLen: couldn't parse " + str );
++	qWarning( "QSvgDevice::parseLen: couldn't parse %s ", str.latin1() );
+ 	if ( ok )
+ 	    *ok = FALSE;
+ 	return 0.0;
+@@ -1140,7 +1140,7 @@
+ 	else if ( u == "pc" )
+ 	    dbl *= m.logicalDpiX() / 6.0;
+ 	else
+-	    qWarning( "QSvgDevice::parseLen: Unknown unit " + u );
++	    qWarning( "QSvgDevice::parseLen: Unknown unit %s",  u.latin1() );
+     }
+     if ( ok )
+ 	*ok = TRUE;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070803/9f687310/attachment.html


More information about the macports-changes mailing list