- if( readlink("/proc/self/exe", exe_path, sizeof(exe_path)) < 0 ) break;
- char *const av[3] = { exe_path, (char*)(load_backup? "-x" : 0), 0 };
+ int len = readlink("/proc/self/exe", exe_path, sizeof(exe_path)-1);
+ if( len < 0 ) break;
+ exe_path[len] = 0;
+ char *av[4] = { 0, }; int ac = 0;
+ av[ac++] = exe_path;
+ if( load_backup ) av[ac++] = (char*) "-x";
+ if( start_remote_control ) av[ac++] = (char*) "-z";
+ av[ac++] = 0;