qt5base-lts/tests
Thiago Macieira 02d595946f QCborValue::fromCbor: Apply a recursion limit to decoding
A simple 16k file can produce deep enough recursion in Qt to cause stack
overflow. So prevent that.

I tested 4096 recursions just fine on my Linux system (8 MB stack), but
decided 1024 was sufficient, as this code will also be run on embedded
systems that could have smaller stacks.

[ChangeLog][QtCore][QCborValue] fromCbor() now limits decoding to at
most 1024 nested maps, arrays, and tags to prevent stack overflows. This
should be sufficient for most uses of CBOR. An API to limit further or
to relax the limit will be provided in 5.15. Meanwhile, if decoding more
is required, QCborStreamReader can be used (note that each level of map
and array allocates memory).

Change-Id: Iaa63461109844e978376fffd15fa0fbefbf607a2
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-03-25 16:21:47 -03:00
..
auto QCborValue::fromCbor: Apply a recursion limit to decoding 2020-03-25 16:21:47 -03:00
baselineserver Merge remote-tracking branch 'origin/5.13' into 5.14 2019-09-09 07:51:49 +00:00
benchmarks qtimezoneprivate_tz: Apply a cache over the top of timezone data 2020-03-20 16:58:09 +02:00
global
libfuzzer Fuzzing: Update location of testcases in Readme 2019-11-21 13:41:18 +01:00
manual Pass QDate and QTime by value in manual calendar test code 2020-01-31 14:02:53 +01:00
shared Remove usages of Q_OS_WINCE 2019-05-23 13:51:05 +02:00
testserver docker-compose now brings up the docker images tagged as "latest" 2019-12-05 15:40:00 +01:00
README
tests.pro

This directory contains autotests and benchmarks based on Qt Test. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.