summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2011-12-13 14:52:46 (GMT)
committerKevin Smith <git@kismith.co.uk>2011-12-13 14:52:46 (GMT)
commit902e2ee8e61acb18d2819e8a59a28921f85bbd77 (patch)
tree792f2ad256c8734536bf58540122f882ca63f290
parent8414b9b6dd1ecf9af622cb291934279c3c52a6a4 (diff)
downloadswift-contrib-902e2ee8e61acb18d2819e8a59a28921f85bbd77.zip
swift-contrib-902e2ee8e61acb18d2819e8a59a28921f85bbd77.tar.bz2
Avoid crash due to misuse of XMPPLayer
-rw-r--r--Swiften/Network/HTTPConnectProxiedConnection.cpp1
-rw-r--r--Swiften/StreamStack/HighLayer.cpp6
2 files changed, 5 insertions, 2 deletions
diff --git a/Swiften/Network/HTTPConnectProxiedConnection.cpp b/Swiften/Network/HTTPConnectProxiedConnection.cpp
index 3e6c986..edbdd82 100644
--- a/Swiften/Network/HTTPConnectProxiedConnection.cpp
+++ b/Swiften/Network/HTTPConnectProxiedConnection.cpp
@@ -79,18 +79,19 @@ void HTTPConnectProxiedConnection::handleConnectionConnectFinished(bool error) {
if (!authID_.empty() && !authPassword_.empty()) {
append(data, createSafeByteArray("Proxy-Authorization: Basic "));
SafeByteArray credentials = authID_;
append(credentials, createSafeByteArray(":"));
append(credentials, authPassword_);
append(data, Base64::encode(credentials));
append(data, createSafeByteArray("\r\n"));
}
append(data, createSafeByteArray("\r\n"));
+ SWIFT_LOG(debug) << "HTTP Proxy send headers: " << byteArrayToString(ByteArray(data.begin(), data.end())) << std::endl;
connection_->write(data);
}
else {
onConnectFinished(true);
}
}
void HTTPConnectProxiedConnection::handleDataRead(boost::shared_ptr<SafeByteArray> data) {
if (!connected_) {
diff --git a/Swiften/StreamStack/HighLayer.cpp b/Swiften/StreamStack/HighLayer.cpp
index dc17c2a..0f76f22 100644
--- a/Swiften/StreamStack/HighLayer.cpp
+++ b/Swiften/StreamStack/HighLayer.cpp
@@ -13,14 +13,16 @@
namespace Swift {
HighLayer::HighLayer() : childLayer(NULL) {
}
HighLayer::~HighLayer() {
}
void HighLayer::writeDataToChildLayer(const SafeByteArray& data) {
- assert(childLayer);
- childLayer->writeData(data);
+ //assert(childLayer);
+ if (childLayer) {
+ childLayer->writeData(data);
+ }
}
}