From: José Bollo Date: Fri, 1 Sep 2017 16:30:17 +0000 (+0200) Subject: Fix segmentation fault when random token X-Git-Tag: eel/4.99.1~21 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-binder.git;a=commitdiff_plain;h=4d5ce1b0b3b41b8fb53126a0c67534db7d010a75 Fix segmentation fault when random token Change-Id: I98795f71dfab1fbc86d694d7ed357ae8387abd5d Signed-off-by: José Bollo --- diff --git a/src/afb-session.c b/src/afb-session.c index d3e658dd..8b566838 100644 --- a/src/afb-session.c +++ b/src/afb-session.c @@ -135,6 +135,11 @@ void afb_session_init (int max_session_count, int timeout, const char *initok) } } +const char *afb_session_initial_token() +{ + return sessions.initok; +} + static struct afb_session *search (const char* uuid) { int idx; diff --git a/src/afb-session.h b/src/afb-session.h index e79d0376..ccedb4ab 100644 --- a/src/afb-session.h +++ b/src/afb-session.h @@ -20,6 +20,7 @@ struct afb_session; extern void afb_session_init(int max_session_count, int timeout, const char *initok); +extern const char *afb_session_initial_token(); extern struct afb_session *afb_session_create (const char *uuid, int timeout); extern struct afb_session *afb_session_get (const char *uuid, int *created); diff --git a/src/main.c b/src/main.c index 91c7aae7..bffcb388 100644 --- a/src/main.c +++ b/src/main.c @@ -397,6 +397,7 @@ static int execute_command() { struct sigaction siga; char port[20]; + const char *token; int rc; /* check whether a command is to execute or not */ @@ -427,8 +428,9 @@ static int execute_command() } else { /* instanciate arguments and environment */ - if (instanciate_command_args(port, config->token) >= 0 - && instanciate_environ(port, config->token) >= 0) { + token = afb_session_initial_token(); + if (instanciate_command_args(port, token) >= 0 + && instanciate_environ(port, token) >= 0) { /* run */ if (!SELF_PGROUP) setpgid(0, 0);