Bug #1314
Crash
100%
Description
Error: ASSERT: "uint(i) < uint(size())" in file /usr/include/qt4/QtCore/qbytearray.h, line 414
It happens as a result of receiving a very long line of input on a fishlim enabled channel.
An example of such line was the following at 284 characters.
lalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal
Related issues
Associated revisions
Check for invalid input in encrypted buffers
The ECB Blowfish decryption function assumed that encrypted input would
always come in blocks of 12 characters, as specified. However, buggy
clients or annoying people may not adhere to that assumption, causing
the core to crash while trying to process the invalid base64 input.
With this commit we make sure that we're not overstepping the bounds of
the input string while decoding it; instead we bail out early and display
the original input. Fixes #1314.
Thanks to Tucos for finding that one!
History
#1 Updated by Anonymous about 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset quassel|8b5ecd226f9208af3074b33d3b7cf5e14f55b138.
#2 Updated by genius3000 about 6 years ago
- Related to Bug #1059: core crashes on not decryptable text added
Check for invalid input in encrypted buffers
The ECB Blowfish decryption function assumed that encrypted input would
always come in blocks of 12 characters, as specified. However, buggy
clients or annoying people may not adhere to that assumption, causing
the core to crash while trying to process the invalid base64 input.
With this commit we make sure that we're not overstepping the bounds of
the input string while decoding it; instead we bail out early and display
the original input. Fixes #1314.
Thanks to Tucos for finding that one!