소스 검색

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).
Nils Maier 12 년 전
부모
커밋
fc6318d23f
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/HttpConnection.cc

+ 2 - 1
src/HttpConnection.cc

@@ -123,7 +123,8 @@ void HttpConnection::sendRequest
 void HttpConnection::sendRequest
 (std::unique_ptr<HttpRequest> httpRequest)
 {
-  sendRequest(std::move(httpRequest), httpRequest->createRequest());
+  auto req = httpRequest->createRequest();
+  sendRequest(std::move(httpRequest), req);
 }
 
 void HttpConnection::sendProxyRequest