Skip to content
This repository was archived by the owner on Mar 20, 2025. It is now read-only.

Commit af3a42e

Browse files
committed
Merge branch '1.5'
2 parents e0b549f + 3b58c9a commit af3a42e

File tree

4 files changed

+21
-8
lines changed

4 files changed

+21
-8
lines changed

CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ option(BUILD_EXAMPLES "Build examples." ON)
4040
option(BUILD_OMEMO "Build the OMEMO module" OFF)
4141
option(WITH_GSTREAMER "Build with GStreamer support for Jingle" OFF)
4242
option(WITH_QCA "Build with QCA for OMEMO or encrypted file sharing" ${Qca-qt${QT_VERSION_MAJOR}_FOUND})
43+
option(ENABLE_ASAN "Build with address sanitizer" OFF)
4344

4445
set(QXMPP_TARGET QXmppQt${QT_VERSION_MAJOR})
4546
set(QXMPPOMEMO_TARGET QXmppOmemoQt${QT_VERSION_MAJOR})
@@ -52,6 +53,12 @@ add_definitions(
5253
-DQT_NO_KEYWORDS
5354
)
5455

56+
# Address sanitizer
57+
if(ENABLE_ASAN)
58+
add_compile_options(-fsanitize=address)
59+
add_link_options(-fsanitize=address)
60+
endif()
61+
5562
if(BUILD_OMEMO)
5663
add_definitions(-DBUILD_OMEMO)
5764

src/base/QXmppStream.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class QXmppStreamPrivate
3939
{
4040
public:
4141
QXmppStreamPrivate(QXmppStream *stream);
42+
~QXmppStreamPrivate();
4243

4344
QString dataBuffer;
4445
QSslSocket *socket;
@@ -59,6 +60,12 @@ QXmppStreamPrivate::QXmppStreamPrivate(QXmppStream *stream)
5960
{
6061
}
6162

63+
QXmppStreamPrivate::~QXmppStreamPrivate()
64+
{
65+
// causes access to runningIqs, so call here
66+
streamManager.resetCache();
67+
}
68+
6269
///
6370
/// \typedef QXmppStream::IqResult
6471
///

src/base/QXmppStreamManagement.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,6 @@ QXmppStreamManager::QXmppStreamManager(QXmppStream *stream)
323323

324324
QXmppStreamManager::~QXmppStreamManager()
325325
{
326-
resetCache();
327326
}
328327

329328
bool QXmppStreamManager::enabled() const

tests/qxmpppubsubmanager/tst_qxmpppubsubmanager.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ using PSManager = QXmppPubSubManager;
2525
using Affiliation = QXmppPubSubAffiliation;
2626
using AffiliationType = QXmppPubSubAffiliation::Affiliation;
2727

28-
const char *ns_pubsub = "http://jabber.org/protocol/pubsub";
29-
const char *ns_pubsub_auto_create = "http://jabber.org/protocol/pubsub#auto-create";
28+
const char *XMLNS_PUBSUB = "http://jabber.org/protocol/pubsub";
29+
const char *XMLNS_PUBSUB_AUTO_CREATE = "http://jabber.org/protocol/pubsub#auto-create";
3030

3131
class TestEventManager : public QXmppClientExtension, public QXmppPubSubEventHandler
3232
{
@@ -148,7 +148,7 @@ void tst_QXmppPubSubManager::testRequestFeatures()
148148
"</query></iq>"));
149149

150150
auto features = expectFutureVariant<QVector<QString>>(future);
151-
QCOMPARE(features, (QVector<QString> { ns_pubsub, ns_pubsub_auto_create }));
151+
QCOMPARE(features, (QVector<QString> { XMLNS_PUBSUB, XMLNS_PUBSUB_AUTO_CREATE }));
152152

153153
future = psManager->requestFeatures("[email protected]");
154154
test.expect(QStringLiteral("<iq id='qxmpp1' to='[email protected]' type='get'>"
@@ -162,7 +162,7 @@ void tst_QXmppPubSubManager::testRequestFeatures()
162162
"</query></iq>"));
163163

164164
features = expectFutureVariant<QVector<QString>>(future);
165-
QCOMPARE(features, (QVector<QString> { ns_pubsub, ns_pubsub_auto_create }));
165+
QCOMPARE(features, (QVector<QString> { XMLNS_PUBSUB, XMLNS_PUBSUB_AUTO_CREATE }));
166166

167167
future = psManager->requestFeatures("[email protected]", QXmppPubSubManager::PubSub);
168168
test.expect(QStringLiteral("<iq id='qxmpp1' to='[email protected]' type='get'>"
@@ -189,7 +189,7 @@ void tst_QXmppPubSubManager::testRequestFeatures()
189189
"</query></iq>"));
190190

191191
features = expectFutureVariant<QVector<QString>>(future);
192-
QCOMPARE(features, (QVector<QString> { ns_pubsub, ns_pubsub_auto_create }));
192+
QCOMPARE(features, (QVector<QString> { XMLNS_PUBSUB, XMLNS_PUBSUB_AUTO_CREATE }));
193193

194194
future = psManager->requestFeatures("pubsub.shakespeare.lit", QXmppPubSubManager::Pep);
195195
test.expect(QStringLiteral("<iq id='qxmpp1' to='pubsub.shakespeare.lit' type='get'>"
@@ -216,7 +216,7 @@ void tst_QXmppPubSubManager::testRequestFeatures()
216216
"</query></iq>"));
217217

218218
features = expectFutureVariant<QVector<QString>>(future);
219-
QCOMPARE(features, (QVector<QString> { ns_pubsub, ns_pubsub_auto_create }));
219+
QCOMPARE(features, (QVector<QString> { XMLNS_PUBSUB, XMLNS_PUBSUB_AUTO_CREATE }));
220220
}
221221

222222
void tst_QXmppPubSubManager::testRequestPepFeatures()
@@ -236,7 +236,7 @@ void tst_QXmppPubSubManager::testRequestPepFeatures()
236236
"</query></iq>"));
237237

238238
auto features = expectFutureVariant<QVector<QString>>(future);
239-
QCOMPARE(features, (QVector<QString> { ns_pubsub, ns_pubsub_auto_create }));
239+
QCOMPARE(features, (QVector<QString> { XMLNS_PUBSUB, XMLNS_PUBSUB_AUTO_CREATE }));
240240
}
241241

242242
void tst_QXmppPubSubManager::testFetchNodes()

0 commit comments

Comments
 (0)