Check for errors in dup2
Bug: 26735063
Test: adb shell sm partition disk:7,3 private && adb logcat -d
Change-Id: I3aa8d1f6183dd5e77f54f422482a54ea8197d768
diff --git a/Utils.cpp b/Utils.cpp
index 3bbdf3a..a77b1b6 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -312,7 +312,10 @@
}
}
pipe_read.reset();
- dup2(pipe_write.get(), STDOUT_FILENO);
+ if (dup2(pipe_write.get(), STDOUT_FILENO) == -1) {
+ PLOG(ERROR) << "dup2 in ForkExecvp";
+ _exit(EXIT_FAILURE);
+ }
pipe_write.reset();
execvp(argv[0], const_cast<char**>(argv.data()));
PLOG(ERROR) << "exec in ForkExecvp";