Merge "TetherController: Use correct exit() after fork()+failed exec()."
diff --git a/TetherController.cpp b/TetherController.cpp
index 5f571a1..cb48dbc 100644
--- a/TetherController.cpp
+++ b/TetherController.cpp
@@ -158,8 +158,7 @@
             ALOGE("execl failed (%s)", strerror(errno));
         }
         ALOGE("Should never get here!");
-        free(args);
-        return 0;
+        _exit(-1);
     } else {
         close(pipefd[0]);
         mDaemonPid = pid;
@@ -233,7 +232,7 @@
         // TODO(BT) inform parent of the failure.
         //          Parent process need wait for child to report error status
         //          before it set mDhcpcdPid and return 0.
-        exit(-1);
+        _exit(-1);
     } else {
         mDhcpcdPid = pid;
         ALOGD("Reverse Tethering running, pid:%d", pid);