Fix a double deletion in QDomAttr::setNodeValue()
Check the reference count before deleting. Patch as contributed on bug report. Fixes: QTBUG-86547 Change-Id: I2cb197e3eeda7ade2442c23f6b4f1ae6ff2ff810 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit af22ccf5605c6b7b20b845fb2b4003d3f56d8bc9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
fa7a839530
commit
0692398b0b
@ -4117,7 +4117,9 @@ void QDomAttrPrivate::setNodeValue(const QString& v)
|
||||
// keep the refcount balanced: appendChild() does a ref anyway.
|
||||
t->ref.deref();
|
||||
if (first) {
|
||||
delete removeChild(first);
|
||||
auto removed = removeChild(first);
|
||||
if (removed && !removed->ref)
|
||||
delete removed;
|
||||
}
|
||||
appendChild(t);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user