File xinetd-2.3.14-server_args-fix.diff of Package xinetd
--- xinetd/confparse.c
+++ xinetd/confparse.c
@@ -54,6 +54,7 @@
{
char *server_name ;
const char *func = "fix_server_argv" ;
+ char** argv;
if( SC_SERVER(scp) == NULL )
{
@@ -69,6 +70,18 @@
return( FAILED );
}
+ /* Fixing problem when NAMEINARG was specified after set server_args */
+ argv = scp->sc_server_argv;
+ if (argv != NULL && *argv == NULL) {
+
+ while (argv[1] != NULL) {
+ argv[0] = argv[1];
+ argv++;
+ }
+ *argv = NULL;
+ }
+
+
return ( OK );
}