diff options
author | Jan Arve Sæther <jan-arve.saether@qt.io> | 2017-10-11 11:35:42 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-10-25 09:19:16 +0000 |
commit | ecd183455b8039ee15b9d51fd1111992af19ed1c (patch) | |
tree | c72c7963ec8d1bbbb4176a07f598047041456644 /src/tools/moc/moc.h | |
parent | 5ec02f7792e97208c0f621c9e8a16854168022e3 (diff) |
Refactor childIdListForAccessibleObject
It has several problems:
1. It could potentially create an intArray with uninitialized elements.
This could happen because the index for getting interfaces were the
same as the storage index. This was not correct, because they could
diverge if iface->child() returned an invalid interface.
2. The count of accessible child elements could change while iterating.
This could cause out-of-bounds condition when calling
SetIntArrayRegion as described in QTBUG-45855. Instead now, we call
SetIntArrayRegion only once, after we have gathered all the child
interface ids.
Task-number: QTBUG-45855
Change-Id: I77e813158df5f563d04931ac4e296e3fc2a16e67
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/tools/moc/moc.h')
0 files changed, 0 insertions, 0 deletions