[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdepim/kmail [POSSIBLY UNSAFE]
From:       Ingo Klöcker <kloecker () kde ! org>
Date:       2003-11-22 23:13:25
[Download RAW message or body]

CVS commit by kloecker: 

Fix crash on Solaris in case aMsg->fromEmail() is empty. Writing an empty string \
would anyway not be correct so we write a dummy string now in case it's empty. Based \
on patch by Torsten Kasch.
> 
> CCMAIL:68801-fixed@bugs.kde.org


  M +4 -2      kmcommands.cpp   1.88
  M +4 -1      kmfoldermbox.cpp   1.90 [POSSIBLY UNSAFE: printf]


--- kdepim/kmail/kmfoldermbox.cpp  #1.89:1.90
@@ -974,5 +974,8 @@ if( fileD1.open( IO_WriteOnly ) ) {
   }
 
-  fprintf(mStream, "From %s %s\n", (const char *)aMsg->fromEmail(),
+  QCString address( aMsg->fromEmail() );
+  if ( address.isEmpty() )
+    address = "unknown@unknown.invalid";
+  fprintf(mStream, "From %s %s\n", address.data(),
           (const char *)aMsg->dateShortStr());
   off_t offs = ftell(mStream);

--- kdepim/kmail/kmcommands.cpp  #1.87:1.88
@@ -667,6 +667,8 @@ void KMSaveMsgCommand::slotSaveDataReq()
 void KMSaveMsgCommand::slotMessageRetrievedForSaving(KMMessage *msg)
 {
-  QCString str;
-  str += "From " + msg->fromEmail() + " " + msg->dateShortStr() + "\n";
+  QCString str( msg->fromEmail() );
+  if ( str.isEmpty() )
+    str = "unknown@unknown.invalid";
+  str = "From " + str + " " + msg->dateShortStr() + "\n";
   str += KMFolderMbox::escapeFrom( msg->asString() );
   str += "\n";


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic