QCborValue: add asserts to encoding method
This patch is inspired by CodeChecker, that is complaining about possible nullptr dereferencing. Currently it is a false-positive, because the codepath suggested by CodeChecker is impossible with current implementation. But having asserts can save some time in case of possible refactoring. Task-number: QTBUG-95727 Pick-to: 6.2 Change-Id: I242a23e8aaa249cce16b867c0884dfc3849977f5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
parent
37b4c4d82f
commit
5c4861d312
@ -1354,6 +1354,7 @@ static void encodeToCbor(QCborStreamWriter &writer, const QCborContainerPrivate
|
|||||||
else
|
else
|
||||||
writer.endMap();
|
writer.endMap();
|
||||||
} else if (idx < 0) {
|
} else if (idx < 0) {
|
||||||
|
Q_ASSERT_X(d != nullptr, "QCborValue", "Unexpected null container");
|
||||||
if (d->elements.size() != 2) {
|
if (d->elements.size() != 2) {
|
||||||
// invalid state!
|
// invalid state!
|
||||||
qWarning("QCborValue: invalid tag state; are you encoding something that was improperly decoded?");
|
qWarning("QCborValue: invalid tag state; are you encoding something that was improperly decoded?");
|
||||||
@ -1364,6 +1365,7 @@ static void encodeToCbor(QCborStreamWriter &writer, const QCborContainerPrivate
|
|||||||
writer.append(QCborTag(d->elements.at(0).value));
|
writer.append(QCborTag(d->elements.at(0).value));
|
||||||
encodeToCbor(writer, d, 1, opt);
|
encodeToCbor(writer, d, 1, opt);
|
||||||
} else {
|
} else {
|
||||||
|
Q_ASSERT_X(d != nullptr, "QCborValue", "Unexpected null container");
|
||||||
// just one element
|
// just one element
|
||||||
auto e = d->elements.at(idx);
|
auto e = d->elements.at(idx);
|
||||||
const ByteData *b = d->byteData(idx);
|
const ByteData *b = d->byteData(idx);
|
||||||
|
Loading…
Reference in New Issue
Block a user