[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