Преглед на файлове

ftp: Fix accessing first element in empty segments vector

Tatsuhiro Tsujikawa преди 10 години
родител
ревизия
62826d691d
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  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) {