From 29fc73a5d286655d1591a2d6be3a6f9d95d2b650 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 30 Apr 2014 12:46:26 -0500 Subject: [PATCH 1/2] Provide a valid default port when parsing QUrl When port is not specified in QUrl, the default value is returned. This default value is -1, which was promptly cast to an unsigned integer. --- src/qamqp/amqp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qamqp/amqp.cpp b/src/qamqp/amqp.cpp index c7d5f91..7f7d7eb 100644 --- a/src/qamqp/amqp.cpp +++ b/src/qamqp/amqp.cpp @@ -111,7 +111,7 @@ void ClientPrivate::parseCnnString( const QUrl & con ) q->setSsl(con.scheme() == AMQPSSCHEME); q->setPassword(con.password()); q->setUser(con.userName()); - q->setPort(con.port()); + q->setPort(con.port(AMQPPORT)); q->setHost(con.host()); q->setVirtualHost(con.path()); } From 0bad40be563f4aa3e67254b6369a5de592230eb7 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Wed, 30 Apr 2014 12:48:44 -0500 Subject: [PATCH 2/2] Allocate internal structures before using them ClientPrivate::parseCnnString() touches class parameters that are allocated in the init() function. --- src/qamqp/amqp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qamqp/amqp.cpp b/src/qamqp/amqp.cpp index 7f7d7eb..eea2049 100644 --- a/src/qamqp/amqp.cpp +++ b/src/qamqp/amqp.cpp @@ -69,8 +69,8 @@ void ClientPrivate::init(QObject * parent) void ClientPrivate::init(QObject * parent, const QUrl & con) { - parseCnnString(con); init(parent); + parseCnnString(con); ClientPrivate::connect(); }