Fix warnings about non-string-literals on printf()-like functions.
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>
Mon, 16 Jun 2008 17:55:58 +0000 (19:55 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 17 Jun 2008 08:15:37 +0000 (10:15 +0200)
qWarning() and similar functions expect a format string as first
parameter.

Using QString's formatting, you should not pass it as first parameter,
but use the "%s" format instead. It's very difficult but it might lead
to format string vulnerabilities.

Signed-off-by: Manuel Nickschas <sputnick@quassel-irc.org>
src/common/genversion.cpp
src/common/main.cpp
src/core/core.cpp
src/uisupport/old-uistyle.cpp

index e8e75f9..e48d494 100644 (file)
@@ -75,7 +75,7 @@ int main(int argc, char **argv) {
   // ok, create our version.gen now
   QFile gen(target);
   if(!gen.open(QIODevice::WriteOnly | QIODevice::Text)) {
-    qFatal(QString("Could not write %1!").arg(target).toAscii());
+    qFatal("%s", qPrintable(QString("Could not write %1!").arg(target)));
     return 255;
   }
   gen.write(QString("quasselGeneratedVersion = \"%1\";\n"
index eca54ba..dca7033 100644 (file)
@@ -54,7 +54,7 @@
 
 //! Signal handler for graceful shutdown.
 void handle_signal(int sig) {
-  qWarning(QString("Caught signal %1 - exiting.").arg(sig).toAscii());
+  qWarning("%s", qPrintable(QString("Caught signal %1 - exiting.").arg(sig)));
   QCoreApplication::quit();
 }
 
index f9f8673..b156b2d 100644 (file)
@@ -333,7 +333,7 @@ QHash<BufferId, MsgId> Core::bufferLastSeenMsgIds(UserId user) {
 
 bool Core::startListening(uint port) {
   if(!server.listen(QHostAddress::Any, port)) {
-    qWarning(qPrintable(QString("Could not open GUI client port %1: %2").arg(port).arg(server.errorString())));
+    qWarning("%s", qPrintable(QString("Could not open GUI client port %1: %2").arg(port).arg(server.errorString())));
     return false;
   }
   qDebug() << "Listening for GUI clients on port" << server.serverPort();
index 83024aa..bbbe48e 100644 (file)
@@ -199,7 +199,7 @@ UiStyle::StyledText UiStyle::styleString(const QString &_s) {
       if(s[pos+1] == 'D') code += s[pos+2];
       FormatType ftype = formatType(code);
       if(ftype == Invalid) {
-        qWarning(qPrintable(QString("Invalid format code in string: %1").arg(s)));
+        qWarning("%s", qPrintable(QString("Invalid format code in string: %1").arg(s)));
         continue;
       }
       //Q_ASSERT(ftype != Invalid);