components/ksh93/patches/225-17817727.patch
author Niveditha Rau <Niveditha.Rau@Oracle.COM>
Tue, 11 Oct 2016 11:08:35 -0700
changeset 7086 bad5d0bc7457
parent 4268 d723f8ed85fe
permissions -rw-r--r--
24829846 libxklavier upgrade broke keyboard gnome-keyboard-properties
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:
diff changeset
     1
This fix is from the community, details in the following location.
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     2
http://lists.research.att.com/pipermail/ast-users/2013q4/004481.html
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     3
---
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     4
--- a/src/cmd/ksh93/sh/streval.c	2014-01-22 10:39:11.075964500 +0100
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     5
+++ b/src/cmd/ksh93/sh/streval.c	2014-01-22 13:21:35.999184260 +0100
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     6
@@ -366,13 +366,17 @@
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     7
 				num = (Sflong_t)(sp[-1]) / (Sflong_t)(num);
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     8
 			break;
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
     9
 		    case A_LSHIFT:
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    10
-			if(tp[-1]==2)
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    11
+			if((long)num >= CHAR_BIT*sizeof(Sfulong_t))
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    12
+				num = 0;
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    13
+			else if(tp[-1]==2)
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    14
 				num = U2F((Sfulong_t)(sp[-1]) << (long)(num));
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    15
 			else
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    16
 				num = (Sflong_t)(sp[-1]) << (long)(num);
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    17
 			break;
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    18
 		    case A_RSHIFT:
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    19
-			if(tp[-1]==2)
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    20
+			if((long)num >= CHAR_BIT*sizeof(Sfulong_t))
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    21
+				num = 0;
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    22
+			else if(tp[-1]==2)
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    23
 				num = U2F((Sfulong_t)(sp[-1]) >> (long)(num));
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    24
 			else
d723f8ed85fe PSARC/2014/162 ksh93 update to 2012-08-01
Lijo George<lijo.x.george@oracle.com>
parents:
diff changeset
    25
 				num = (Sflong_t)(sp[-1]) >> (long)(num);