From edc49d7b980402eae452e7a6684f497664ce82f9 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 2 Apr 2015 17:42:56 -0700 Subject: [PATCH] Just use snprintf for android_get_control_socket. Change-Id: I3d0da03847f79c9f9b2cfd7189a07f63b17fc4a2 --- include/cutils/sockets.h | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/include/cutils/sockets.h b/include/cutils/sockets.h index c47588c43..f8076ca45 100644 --- a/include/cutils/sockets.h +++ b/include/cutils/sockets.h @@ -18,6 +18,7 @@ #define __CUTILS_SOCKETS_H #include +#include #include #include #include @@ -46,30 +47,19 @@ extern "C" { */ static inline int android_get_control_socket(const char *name) { - char key[64] = ANDROID_SOCKET_ENV_PREFIX; - const char *val; - int fd; + char key[64]; + snprintf(key, sizeof(key), ANDROID_SOCKET_ENV_PREFIX "%s", name); - /* build our environment variable, counting cycles like a wolf ... */ -#if HAVE_STRLCPY - strlcpy(key + sizeof(ANDROID_SOCKET_ENV_PREFIX) - 1, - name, - sizeof(key) - sizeof(ANDROID_SOCKET_ENV_PREFIX)); -#else /* for the host, which may lack the almightly strncpy ... */ - strncpy(key + sizeof(ANDROID_SOCKET_ENV_PREFIX) - 1, - name, - sizeof(key) - sizeof(ANDROID_SOCKET_ENV_PREFIX)); - key[sizeof(key)-1] = '\0'; -#endif - - val = getenv(key); - if (!val) + const char* val = getenv(key); + if (!val) { return -1; + } errno = 0; - fd = strtol(val, NULL, 10); - if (errno) + int fd = strtol(val, NULL, 10); + if (errno) { return -1; + } return fd; }