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 );
    }
 
openSUSE Build Service is sponsored by