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

List:       kde-core-devel
Subject:    Re: qdatastream with checksum
From:       Nikolas Zimmermann <wildfox () kde ! org>
Date:       2001-05-23 15:09:16
[Download RAW message or body]

On Wednesday 23 May 2001 15:25, Simon Hausmann wrote:
> Hi,
>
> Recently Waldo fixed the dcopserver to handle possibly corrupt data better.
> (I had a crash because of this, twice)
> Just 15 minutes ago a friend here in the uni had a crashing konqueror
> because of a corrupted konq_history file.
>
> What's the common thing? Both (konq/dcop) use QDataStream to marshal data
> and demarshal it without any checkings. This can result into errors like an
> attempt to demarshal a QString with the length of 5124361243561 bytes
> (which makes us end up in a nice malloc() call :-) , just because the
> length byte (or the data in general) was corrupted.
>
> Sure, we can't recover from corrupted data, but at least we could bail out
> if we would have a way to check the consistency of the data before starting
> to extract and interpret data out of it.
>
> So how about using checksums to check the correctness? It is for sure
> nonsense to add a checksum for each and every object, but how about doing
> it once for the whole chunk of data?
>
> What I'm thinking of in detail is a KCheckSumByteArray (TODO: find better
> name :) , which inherits from QByteArray and adds a checksum property
> (like we could use a simple CRC32) when being marshalled into a QDataStream
> (and does so likewise when reading from a QDataStream, including a check
> of the checksum and setting a isValid() boolean property appropriately) .
>
> (I volunteer to implement this, just in case)
>
> What do you think?
Are there any speed issues?

Bye
 Bye
  Niko

>
> Bye,
>  Simon

-- 
Nikolas Zimmermann
wildfox@kde.org

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

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