diff options
Diffstat (limited to 'sesman/session.c')
| -rw-r--r-- | sesman/session.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/sesman/session.c b/sesman/session.c index d4b62d7b..fd94ae3f 100644 --- a/sesman/session.c +++ b/sesman/session.c @@ -169,11 +169,16 @@ x_server_running(int display) static void DEFAULT_CC session_start_sessvc(int xpid, int wmpid, long data) { - struct list* sessvc_params; + struct list * sessvc_params = (struct list *)NULL; char wmpid_str[25]; char xpid_str[25]; char exe_path[262]; - int i; + int i = 0; + + /* initialize (zero out) local variables: */ + g_memset(wmpid_str,0,sizeof(char) * 25); + g_memset(xpid_str,0,sizeof(char) * 25); + g_memset(exe_path,0,sizeof(char) * 262); /* new style waiting for clients */ g_sprintf(wmpid_str, "%d", wmpid); @@ -302,22 +307,31 @@ session_start_fork(int width, int height, int bpp, char* username, char* password, tbus data, tui8 type, char* domain, char* program, char* directory) { - int display; - int pid; - int wmpid; - int xpid; - int i; + int display = 0; + int pid = 0; + int wmpid = 0; + int xpid = 0; + int i = 0; char geometry[32]; char depth[32]; char screen[32]; char text[256]; char passwd_file[256]; - char** pp1; - struct session_chain* temp; - struct list* xserver_params=0; + char ** pp1 = (char **)NULL; + struct session_chain * temp = (struct session_chain *)NULL; + struct list * xserver_params = (struct list *)NULL; time_t ltime; struct tm stime; + /* initialize (zero out) local variables: */ + g_memset(<ime,0,sizeof(time_t)); + g_memset(&stime,0,sizeof(struct tm)); + g_memset(geometry,0,sizeof(char) * 32); + g_memset(depth,0,sizeof(char) * 32); + g_memset(screen,0,sizeof(char) * 32); + g_memset(text,0,sizeof(char) * 256); + g_memset(passwd_file,0,sizeof(char) * 256); + /* check to limit concurrent sessions */ if (g_session_count >= g_cfg->sess.max_sessions) { @@ -348,6 +362,7 @@ session_start_fork(int width, int height, int bpp, char* username, g_free(temp); return 0; } + wmpid = 0; pid = g_fork(); if (pid == -1) { |
