From bd995347b5d933ad3a11f1e0dd900bb042f1189b Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Tue, 19 Jan 2010 11:02:17 +0000 Subject: [PATCH] Don't crash on empty filename parameters in the content-disposition header. kolab/issue3914 MERGE: none (but write KMime unit test) svn path=/branches/kdepim/enterprise4/kdepim/; revision=1077028 --- kmmsgpart.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kmmsgpart.cpp b/kmmsgpart.cpp index 03c26ef37..b43d170a5 100644 --- a/kmmsgpart.cpp +++ b/kmmsgpart.cpp @@ -436,11 +436,15 @@ QString KMMessagePart::fileName( void ) const // search the end of the filename int endOfFilename; - if ( '"' == mContentDisposition[startOfFilename] ) { - startOfFilename++; // the double quote isn't part of the filename - endOfFilename = mContentDisposition.indexOf( '"', startOfFilename ) - 1; + if ( mContentDisposition.length() > startOfFilename ) { + if ( '"' == mContentDisposition[startOfFilename] ) { + startOfFilename++; // the double quote isn't part of the filename + endOfFilename = mContentDisposition.indexOf( '"', startOfFilename ) - 1; + } else { + endOfFilename = mContentDisposition.indexOf( ';', startOfFilename ) - 1; + } } else { - endOfFilename = mContentDisposition.indexOf( ';', startOfFilename ) - 1; + endOfFilename = startOfFilename; } if ( endOfFilename < 0 ) { endOfFilename = 32767;