summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-04-03 03:45:30 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-04-03 03:45:30 +0000
commitb2c3473d35d2fb8ea7bec9de290f7add979e5474 (patch)
treed806b9416ac3fd63d8570cf6f6f6e4c7ad7770b9
parentcadf428403314769f22d3b54b81d082294992ddc (diff)
parent70df6f85fe8164010be3e4e1cf87e1dd31fb7614 (diff)
downloadsystem_core-b2c3473d35d2fb8ea7bec9de290f7add979e5474.zip
system_core-b2c3473d35d2fb8ea7bec9de290f7add979e5474.tar.gz
system_core-b2c3473d35d2fb8ea7bec9de290f7add979e5474.tar.bz2
am 70df6f85: Merge "Just use snprintf for android_get_control_socket."
* commit '70df6f85fe8164010be3e4e1cf87e1dd31fb7614': Just use snprintf for android_get_control_socket.
-rw-r--r--include/cutils/sockets.h28
1 files changed, 9 insertions, 19 deletions
diff --git a/include/cutils/sockets.h b/include/cutils/sockets.h
index c47588c..f8076ca 100644
--- a/include/cutils/sockets.h
+++ b/include/cutils/sockets.h
@@ -18,6 +18,7 @@
#define __CUTILS_SOCKETS_H
#include <errno.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
@@ -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;
}