From fc6318d23f58827427be8ccbdab1a82da2a1c9bf Mon Sep 17 00:00:00 2001 From: Nils Maier Date: Sun, 7 Jul 2013 06:01:34 +0200 Subject: [PATCH] Fix a bad std::move in HttpConnection C++ Standard says that the order of evaluation of arguments is unspecified. Even if it wasn't, std::move would run first, invalidating the httpRequest smartptr, so that httpRequest->createRequest() would be executed on the invalid ptr. Some compilers might be smart enough to correct this error, clang XCode Edition surely is not (not should it). --- src/HttpConnection.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc index 596779d99..8574338ec 100644 --- a/src/HttpConnection.cc +++ b/src/HttpConnection.cc @@ -123,7 +123,8 @@ void HttpConnection::sendRequest void HttpConnection::sendRequest (std::unique_ptr httpRequest) { - sendRequest(std::move(httpRequest), httpRequest->createRequest()); + auto req = httpRequest->createRequest(); + sendRequest(std::move(httpRequest), req); } void HttpConnection::sendProxyRequest