netd: fix argument interpretation bug
While working around the logwrap() issue, it was replaced with system()
which could lead to various commands getting misinterpreted.
We now use a system() equivalent that doesn't use "sh -c".
Bug:5758556
Change-Id: I2599b526ac34bcfca18d05261286d902d547efda
diff --git a/ThrottleController.cpp b/ThrottleController.cpp
index c7dfad8..1ae31b8 100644
--- a/ThrottleController.cpp
+++ b/ThrottleController.cpp
@@ -36,7 +36,7 @@
static char TC_PATH[] = "/system/bin/tc";
-extern "C" int logwrap(int argc, const char **argv, int background);
+extern "C" int system_nosh(const char *command);
extern "C" int ifc_init(void);
extern "C" int ifc_up(const char *name);
extern "C" int ifc_down(const char *name);
@@ -53,7 +53,7 @@
}
asprintf(&buffer, "%s %s", TC_PATH, cmd);
- res = system(buffer);
+ res = system_nosh(buffer);
free(buffer);
return res;
}