diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-05-12 17:05:36 -0700 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-13 12:37:19 +0200 |
commit | b23e72a772a5abfdf9784ab80db9a4d620137515 (patch) | |
tree | e72b06b2f7ac6eac89b2a874649b4f92aba406ab /LICENSE.LGPL | |
parent | f2619db30046c5b6a431a5048bcedc6b1d04688f (diff) |
Fix stateful handling of invalid UTF-8 straddling buffer borders
When a UTF-8 sequences is too short, QUtf8Functions::fromUtf8 returns
EndOfString. If the decoder is stateful, we must save the state and then
restart it when more data is supplied.
The new stateful decoder (8dd47e34b9b96ac27a99cdcf10b8aec506882fc2)
mishandled the Error case by advancing the src pointer by a negative
number, thus causing a buffer overflow (the issue of the task).
And it also did not handle the len == 0 case properly, though neither
did the older decoder.
Task-number: QTBUG-38939
Change-Id: Ie03d7c55a04e51ee838ccdb3a01e5b989d8e67aa
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'LICENSE.LGPL')
0 files changed, 0 insertions, 0 deletions