Explorar o código

ftp: Fix accessing first element in empty segments vector

Tatsuhiro Tsujikawa %!s(int64=10) %!d(string=hai) anos
pai
achega
62826d691d
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/FtpNegotiationCommand.cc

+ 3 - 1
src/FtpNegotiationCommand.cc

@@ -106,7 +106,9 @@ FtpNegotiationCommand::FtpNegotiationCommand
 FtpNegotiationCommand::~FtpNegotiationCommand() {}
 
 bool FtpNegotiationCommand::executeInternal() {
-  while(processSequence(getSegments().front()));
+  auto segment = getSegments().empty() ?
+    std::shared_ptr<Segment>() : getSegments().front();
+  while(processSequence(segment));
   if(sequence_ == SEQ_RETRY) {
     return prepareForRetry(0);
   } else if(sequence_ == SEQ_NEGOTIATION_COMPLETED) {