mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

103 lines
3.4 KiB

Use of tainted arguments in exec is deprecated at /var/www/cgi-bin/cvsweb.cgi line 2043.
===================================================================
RCS file: /home2/webcvs/mirror/kdepim/libkdenetwork/kmime_codec_qp.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- kdepim/libkdenetwork/kmime_codec_qp.cpp 2003/07/26 14:51:52 1.12
+++ kdepim/libkdenetwork/kmime_codec_qp.cpp 2003/10/30 14:15:30 1.13
@@ -189,6 +189,20 @@ public:
bool finish( char* & dcursor, const char * const dend );
};
+// this doesn't access any member variables, so it can be defined static
+// but then we can't call it from virtual functions
+static int QuotedPrintableDecoder_maxDecodedSizeFor( int insize, bool withCRLF ) {
+ // all chars unencoded:
+ int result = insize;
+ // but maybe all of them are \n and we need to make them \r\n :-o
+ if ( withCRLF )
+ result += insize;
+
+ // there might be an accu plus escape
+ result += 2;
+
+ return result;
+}
Encoder * QuotedPrintableCodec::makeEncoder( bool withCRLF ) const {
return new QuotedPrintableEncoder( withCRLF );
@@ -198,6 +212,10 @@ Decoder * QuotedPrintableCodec::makeDeco
return new QuotedPrintableDecoder( withCRLF );
}
+int QuotedPrintableCodec::maxDecodedSizeFor( int insize, bool withCRLF ) const {
+ return QuotedPrintableDecoder_maxDecodedSizeFor(insize, withCRLF);
+}
+
Encoder * Rfc2047QEncodingCodec::makeEncoder( bool withCRLF ) const {
return new Rfc2047QEncodingEncoder( withCRLF );
}
@@ -206,6 +224,10 @@ Decoder * Rfc2047QEncodingCodec::makeDec
return new QuotedPrintableDecoder( withCRLF, true );
}
+int Rfc2047QEncodingCodec::maxDecodedSizeFor( int insize, bool withCRLF ) const {
+ return QuotedPrintableDecoder_maxDecodedSizeFor(insize, withCRLF);
+}
+
Encoder * Rfc2231EncodingCodec::makeEncoder( bool withCRLF ) const {
return new Rfc2047QEncodingEncoder( withCRLF, '%' );
}
@@ -214,12 +236,14 @@ Decoder * Rfc2231EncodingCodec::makeDeco
return new QuotedPrintableDecoder( withCRLF, true, '%' );
}
+int Rfc2231EncodingCodec::maxDecodedSizeFor( int insize, bool withCRLF ) const {
+ return QuotedPrintableDecoder_maxDecodedSizeFor(insize, withCRLF);
+}
/********************************************************/
/********************************************************/
/********************************************************/
-
bool QuotedPrintableDecoder::decode( const char* & scursor, const char * const send,
char* & dcursor, const char * const dend ) {
if ( mWithCRLF )
@@ -402,7 +426,7 @@ bool QuotedPrintableEncoder::processNext
bufferFill += 16;
assert( bufferFill >=0 && bufferFill <= 15 );
-
+
if ( !mFinishing && !mSawLineEnd &&
bufferFill < minBufferFillWithoutLineEnd )
return false;
@@ -424,7 +448,7 @@ bool QuotedPrintableEncoder::processNext
else
// never needs encoding
mAccuNeedsEncoding = Never;
-
+
return true;
}
@@ -485,7 +509,7 @@ bool QuotedPrintableEncoder::encode( con
// fill input buffer until eol has been reached or until the
// buffer is full, whatever comes first:
fillInputBuffer( scursor, send );
-
+
if ( processNextChar() )
// there was one...
createOutputBuffer( dcursor, dend );
@@ -506,7 +530,7 @@ bool QuotedPrintableEncoder::encode( con
if ( mOutputBufferCursor ) flushOutputBuffer( dcursor, dend );
return (scursor == send);
-
+
} // encode
bool QuotedPrintableEncoder::finish( char* & dcursor,