summaryrefslogtreecommitdiffstats
path: root/init/init.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2013-04-06 01:53:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-04-06 01:53:24 +0000
commit1615c09ac1065104f56ddc444f5467aff76c0daa (patch)
treee94092d9a53d67efc69c8cd37d7890af47f85939 /init/init.c
parentf79c05186fb48c89bc6036a751cbe455b99028cb (diff)
parent11467189bc856c087de1fcc4b7abaf97220e3ada (diff)
downloadcore-1615c09ac1065104f56ddc444f5467aff76c0daa.tar.gz
core-1615c09ac1065104f56ddc444f5467aff76c0daa.tar.bz2
core-1615c09ac1065104f56ddc444f5467aff76c0daa.zip
Merge "init: Fix potential null pointer issue"
Diffstat (limited to 'init/init.c')
-rwxr-xr-xinit/init.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/init/init.c b/init/init.c
index b28b0ab23..39df0ffae 100755
--- a/init/init.c
+++ b/init/init.c
@@ -90,7 +90,7 @@ void notify_service_state(const char *name, const char *state)
}
static int have_console;
-static char *console_name = "/dev/console";
+static char console_name[PROP_VALUE_MAX] = "/dev/console";
static time_t process_needs_restart;
static const char *ENV[32];
@@ -430,7 +430,7 @@ static void restart_processes()
static void msg_start(const char *name)
{
- struct service *svc;
+ struct service *svc = NULL;
char *tmp = NULL;
char *args = NULL;
@@ -438,11 +438,13 @@ static void msg_start(const char *name)
svc = service_find_by_name(name);
else {
tmp = strdup(name);
- args = strchr(tmp, ':');
- *args = '\0';
- args++;
+ if (tmp) {
+ args = strchr(tmp, ':');
+ *args = '\0';
+ args++;
- svc = service_find_by_name(tmp);
+ svc = service_find_by_name(tmp);
+ }
}
if (svc) {
@@ -547,11 +549,9 @@ static int keychord_init_action(int nargs, char **args)
static int console_init_action(int nargs, char **args)
{
int fd;
- char tmp[PROP_VALUE_MAX];
if (console[0]) {
- snprintf(tmp, sizeof(tmp), "/dev/%s", console);
- console_name = strdup(tmp);
+ snprintf(console_name, sizeof(console_name), "/dev/%s", console);
}
fd = open(console_name, O_RDWR);