Przeglądaj źródła

ftp: Fix accessing first element in empty segments vector

Tatsuhiro Tsujikawa 10 lat temu
rodzic
commit
62826d691d
1 zmienionych plików z 3 dodań i 1 usunięć
  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) {