diff --git a/server/InterfaceController.cpp b/server/InterfaceController.cpp index 3bc7b040dc43a3587a826600e0e40ea9ce425cfc..6855bdf7b51c6c3c132de1a9a415e98ec9e7be9f 100644 --- a/server/InterfaceController.cpp +++ b/server/InterfaceController.cpp @@ -22,6 +22,7 @@ #include <cutils/log.h> #include <logwrap/logwrap.h> #include <utils/file.h> +#include <utils/stringprintf.h> #include "InterfaceController.h" #include "RouteController.h" @@ -50,15 +51,12 @@ InterfaceController::~InterfaceController() { } int InterfaceController::writeIPv6ProcPath(const char *interface, const char *setting, const char *value) { - char *path; if (!isIfaceName(interface)) { errno = ENOENT; return -1; } - asprintf(&path, "%s/%s/%s", ipv6_proc_path, interface, setting); - bool success = android::WriteStringToFile(value, path); - free(path); - return success; + std::string path(android::StringPrintf("%s/%s/%s", ipv6_proc_path, interface, setting)); + return android::WriteStringToFile(value, path); } int InterfaceController::setEnableIPv6(const char *interface, const int on) { @@ -135,23 +133,18 @@ void InterfaceController::setAcceptRA(const char *value) { // ID to get the table. If it's set to -1000, routes from interface ID 5 will go into // table 1005, etc. void InterfaceController::setAcceptRARouteTable(int tableOrOffset) { - char* value; - asprintf(&value, "%d", tableOrOffset); - setOnAllInterfaces("accept_ra_rt_table", value); - free(value); + std::string value(android::StringPrintf("%d", tableOrOffset)); + setOnAllInterfaces("accept_ra_rt_table", value.c_str()); } int InterfaceController::setMtu(const char *interface, const char *mtu) { - char *path; if (!isIfaceName(interface)) { errno = ENOENT; return -1; } - asprintf(&path, "%s/%s/mtu", sys_net_path, interface); - bool success = android::WriteStringToFile(mtu, path); - free(path); - return success; + std::string path(android::StringPrintf("%s/%s/mtu", sys_net_path, interface)); + return android::WriteStringToFile(mtu, path); } void InterfaceController::setIPv6OptimisticMode(const char *value) {