diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-03 00:02:27 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-03 00:02:27 +0900 |
| commit | f2d85c38cc6e7c514510e117a6711913f08bf64d (patch) | |
| tree | 344e1b648592485c0f18e9c04fd043600f41d0ea /src | |
| parent | f022402dc91e7796032dfbeacd730bb8bf201920 (diff) | |
Fix segmentaion fault
Diffstat (limited to 'src')
| -rw-r--r-- | src/HttpConnection.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/HttpConnection.cc b/src/HttpConnection.cc index c008d5a9..9f49c1d8 100644 --- a/src/HttpConnection.cc +++ b/src/HttpConnection.cc @@ -63,8 +63,8 @@ namespace aria2 { HttpRequestEntry::HttpRequestEntry (const std::shared_ptr<HttpRequest>& httpRequest) - : httpRequest_(httpRequest), - proc_(new HttpHeaderProcessor(HttpHeaderProcessor::CLIENT_PARSER)) + : httpRequest_{httpRequest}, + proc_{make_unique<HttpHeaderProcessor>(HttpHeaderProcessor::CLIENT_PARSER)} {} HttpRequestEntry::~HttpRequestEntry() {} @@ -152,9 +152,11 @@ std::shared_ptr<HttpResponse> HttpConnection::receiveResponse() httpResponse->setHttpHeader(proc->getResult()); httpResponse->setHttpRequest(outstandingHttpRequests_.front()-> getHttpRequest()); + socketRecvBuffer_->shiftBuffer(proc->getLastBytesProcessed()); outstandingHttpRequests_.pop_front(); + } else { + socketRecvBuffer_->shiftBuffer(proc->getLastBytesProcessed()); } - socketRecvBuffer_->shiftBuffer(proc->getLastBytesProcessed()); return httpResponse; } |
