Fixes for stupid mistakes (by me).

+ Only remove netId/permission after doing everything that references them.
+ Return success/failure correctly based on return value of fork/exec.

Conflicts:
	NetworkController.cpp

Change-Id: Iddb8ccdffc104ffed1058ecc2421006beebd568d
diff --git a/RouteController.cpp b/RouteController.cpp
index 2a6ef3d..e3bbef4 100644
--- a/RouteController.cpp
+++ b/RouteController.cpp
@@ -115,7 +115,7 @@
         }
     }
 
-    return android_fork_execvp(argc, const_cast<char**>(argv), NULL, false, false);
+    return !android_fork_execvp(argc, const_cast<char**>(argv), NULL, false, false);
 }
 
 bool modifyPerNetworkRules(unsigned netId, const char* interface, Permission permission, bool add,