From de1b53d0678b81d4480dc4ac3fc79075e01d4255 Mon Sep 17 00:00:00 2001 From: Matthew Bouyack Date: Fri, 16 Sep 2016 16:38:11 -0700 Subject: DO NOT MERGE Fail gracefully when we fail to fork the update binary See bug b/31395655 Change-Id: Ic5a046bc80ea88d7eb52755838bdbf4e1e47da50 --- install.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/install.cpp b/install.cpp index 209300e89..78dc6a0d5 100644 --- a/install.cpp +++ b/install.cpp @@ -374,6 +374,14 @@ try_update_binary(const char* path, ZipArchive* zip, bool* wipe_cache, } pid_t pid = fork(); + + if (pid == -1) { + close(pipefd[0]); + close(pipefd[1]); + LOGE("Failed to fork update binary: %s\n", strerror(errno)); + return INSTALL_ERROR; + } + if (pid == 0) { umask(022); close(pipefd[0]); -- cgit v1.2.3