components/ksh93/patches/190-17432413.patch
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Tue, 05 May 2015 06:49:34 -0500
changeset 4253 d6f30e77062b
parent 4196 d697072a92f5
permissions -rw-r--r--
21032971 pycparser license generation should have .prep dependency
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1549
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     1
--- a/src/cmd/ksh93/sh/init.c
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     2
+++ b/src/cmd/ksh93/sh/init.c
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     3
@@ -720,7 +720,7 @@ static char* get_lastarg(Namval_t* np, Namfun_t *fp)
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     4
 	char	*cp;
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     5
 	int	pid;
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     6
         if(sh_isstate(SH_INIT) && (cp=shp->lastarg) && *cp=='*' && (pid=strtol(cp+1,&cp,10)) && *cp=='*')
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     7
-		nv_putval(np,(pid==shp->gd->ppid?cp+1:0),0);
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     8
+		nv_putval(np,cp+1,0);
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     9
 	return(shp->lastarg);
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    10
 }
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    11
 
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    12
--- a/src/cmd/ksh93/sh/main.c
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    13
+++ b/src/cmd/ksh93/sh/main.c
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    14
@@ -298,7 +298,7 @@ int sh_main(int ac, char *av[], Shinit_f userinit)
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    15
 					 */
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    16
 					if (shp->st.repl_index > 0)
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    17
 						av[shp->st.repl_index] = shp->st.repl_arg;
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    18
-					if(((type = sh_type(cp = av[0])) & SH_TYPE_SH) && (!(name = nv_getval(L_ARGNOD)) || !((type = sh_type(cp = name)) & SH_TYPE_SH)))
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    19
+					if(((type = sh_type(cp = av[0])) & SH_TYPE_SH) && (name = nv_getval(L_ARGNOD)) && (!((type = sh_type(cp = name)) & SH_TYPE_SH)))
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    20
 					{
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    21
 						av[0] = (type & SH_TYPE_LOGIN) ? cp : path_basename(cp);
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    22
 						/*  exec to change $0 for ps */
f683981a3096 17432413 Infinite /bin/sh exec loop in ksh93
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    23