瀏覽代碼

Merge topic 'cmuvprocesschain-iterator-fix'

dfa24355ea cmUVProcessChain: Add assert() for static analysis tools

Acked-by: Kitware Robot <[email protected]>
Merge-request: !3322
Brad King 6 年之前
父節點
當前提交
ac0411f166
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      Source/cmUVProcessChain.cxx

+ 4 - 1
Source/cmUVProcessChain.cxx

@@ -8,6 +8,8 @@
 #include "cmUVStreambuf.h"
 #include "cm_uv.h"
 
+#include <assert.h>
+
 #include <iterator>
 #include <memory>
 #include <utility>
@@ -250,7 +252,8 @@ bool cmUVProcessChain::InternalData::AddCommand(
   if (first) {
     stdio[0].flags = UV_IGNORE;
   } else {
-    auto& prev = **std::prev(this->Processes.end(), 2);
+    assert(this->Processes.size() >= 2);
+    auto& prev = *this->Processes[this->Processes.size() - 2];
     stdio[0].flags = UV_INHERIT_STREAM;
     stdio[0].data.stream = prev.OutputPipe;
   }