components/ksh93/patches/035-CR7036535.patch
author Lijo George<lijo.x.george@oracle.com>
Sun, 10 May 2015 11:59:46 -0700
changeset 4268 d723f8ed85fe
parent 4196 d697072a92f5
child 4305 90493abe0c5c
permissions -rw-r--r--
PSARC/2014/162 ksh93 update to 2012-08-01 17533968 ksh93 uprev to latest community version 17817727 ksh93: Right shift arithmetic substitution error for shifts of 64 bits or more 17699248 ksh93 double associative array handling bugs 17777549 "kill %%" with no background jobs , coredumps 18119738 ksh93 crashes in sfio area 18229654 ksh93 read not reentrant in alarm context dumps core 16169978 ksh93 memory corruption with redirection 18302723 ksh93 segv in sh_setmatch 16507675 external command in double-nested here-document hangs ksh93 18920300 remove pkglint Warnings in ksh93 build 18355790 /usr/bin/sh and /usr/sbin/sh should point to /usr/bin/ksh93 19907453 Session drop can cause ksh93 to become a fork bomb 18426052 SPARC /usr/bin/ksh is not an XPG6 executable 20808157 attpackagemake.mk test target needs the same environment as the build 20948390 ksh93 should have some master test results to compare against 20948350 attpackagemake.mk tested-and-compared target has mis-matched parentheses
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4268
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     1
# Solaris specific issue. Not submitted to the community.
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     2
--- a/src/cmd/ksh93/sh/path.c	2015-02-24 13:25:19.360898415 -0800
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     3
+++ b/src/cmd/ksh93/sh/path.c	2015-02-25 00:54:42.168155178 -0800
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     4
@@ -1463,7 +1463,7 @@
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     5
 		len = strlen(name);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     6
 	for(pp=first; pp; pp=pp->next)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     7
 	{
4268
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     8
-		if(len == pp->len && memcmp(name,pp->name,len)==0)
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
     9
+		if(len == pp->len && strncmp(name,pp->name,len)==0)
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    10
 		{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    11
 			pp->flags |= flag;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    12
 			return(first);
4268
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
    13
@@ -1751,7 +1751,7 @@
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    14
 	register Pathcomp_t *pp=first;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    15
 	while(pp)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    16
 	{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    17
-		if(memcmp(name,pp->name,pp->len)==0 && name[pp->len]==c) 
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    18
+		if(strncmp(name,pp->name,pp->len)==0 && name[pp->len]==c) 
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    19
 			return(pp);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    20
 		pp = pp->next;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    21
 	}
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    22
--- a/src/cmd/ksh93/sh/nvtree.c	Sun Jan  2 17:45:14 2011
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    23
+++ b/src/cmd/ksh93/sh/nvtree.c	Fri Jul 22 00:30:31 2011
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    24
@@ -26,6 +26,9 @@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    25
  *   AT&T Labs
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    26
  *
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    27
  */
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    28
+/*
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    29
+ * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    30
+ */
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    31
 
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    32
 #include	"defs.h"
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    33
 #include	"name.h"
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    34
@@ -188,7 +191,7 @@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    35
 		{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    36
 			char *cp = nv_name(dp->hp);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    37
 			c = strlen(cp);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    38
-			if(memcmp(name,cp,c) || name[c]!='[')
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    39
+			if(strncmp(name,cp,c) || name[c]!='[')
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    40
 				dp->hp = (Namval_t*)dtnext(dp->root,dp->hp);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    41
 			else
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    42
 			{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    43
@@ -266,7 +269,7 @@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    44
 {
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    45
 	if(dp->nextnode)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    46
 		return((*dp->nextnode)(dp->hp,dp->root,dp->fun));
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    47
-	if(dp->len && memcmp(dp->data, dp->hp->nvname, dp->len))
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    48
+	if(dp->len && strncmp(dp->data, dp->hp->nvname, dp->len))
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    49
 		return(0);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    50
 	return((Namval_t*)dtnext(dp->root,dp->hp));
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    51
 }
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    52
@@ -311,7 +314,7 @@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    53
 					dp->hp = (*dp->nextnode)(np,(Dt_t*)0,dp->fun);
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    54
 			}
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    55
 			sh.last_table = last_table;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    56
-			if(!dp->len || memcmp(cp,dp->data,dp->len)==0)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    57
+			if(!dp->len || strncmp(cp,dp->data,dp->len)==0)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    58
 			{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    59
 				if((nfp=nextdisc(np)) && (nfp->disc->getval||nfp->disc->getnum) && nv_isvtree(np) && strcmp(cp,dp->data))
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    60
 					nfp = 0;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    61
@@ -861,7 +864,7 @@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    62
 					continue;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    63
 				break;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    64
 			}
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    65
-			else if(outfile && !wp->nofollow && argv[1] && memcmp(arg,argv[1],l=strlen(arg))==0 && argv[1][l]=='[')
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    66
+			else if(outfile && !wp->nofollow && argv[1] && strncmp(arg,argv[1],l=strlen(arg))==0 && argv[1][l]=='[')
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    67
 			{
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    68
 				int	k=1;
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    69
 				Namarr_t *ap=0;
4268
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents: 4196
diff changeset
    70