summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qcborvalue_p.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2020-11-07 09:56:49 -0800
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-12-06 07:51:19 +0000
commit638171eb10cfb186a6c47ec052a3b0c5b6449386 (patch)
tree203ab7970becd15c8edaae99ec708af043672f15 /src/corelib/serialization/qcborvalue_p.h
parent9a55f40937d037d06e00b09465d8dad0554692fc (diff)
QCborValue: avoid allocating result if data is insufficient
Similar to the previous commit which applied to QCborStreamReader, don't allocate too much data before checking that the stream actually has that much. Pick-to: 5.15 6.0 Fixes: QTBUG-88256 Change-Id: I7b9b97ae9b32412abdc6fffd16454b7568a063ba Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/corelib/serialization/qcborvalue_p.h')
-rw-r--r--src/corelib/serialization/qcborvalue_p.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/corelib/serialization/qcborvalue_p.h b/src/corelib/serialization/qcborvalue_p.h
index d68d44e7be..5c8f244ad8 100644
--- a/src/corelib/serialization/qcborvalue_p.h
+++ b/src/corelib/serialization/qcborvalue_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2018 Intel Corporation.
+** Copyright (C) 2020 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -53,6 +53,10 @@
#include "qcborvalue.h"
+#if QT_CONFIG(cborstreamreader)
+# include "qcborstreamreader.h"
+#endif
+
#include <private/qglobal_p.h>
#include <private/qstringconverter_p.h>
@@ -414,9 +418,11 @@ public:
elements.remove(idx);
}
- void decodeValueFromCbor(QCborStreamReader &reader, int remainiingStackDepth);
+#if QT_CONFIG(cborstreamreader)
+ void decodeValueFromCbor(QCborStreamReader &reader, int remainingStackDepth);
void decodeStringFromCbor(QCborStreamReader &reader);
static inline void setErrorInReader(QCborStreamReader &reader, QCborError error);
+#endif
};
QT_END_NAMESPACE