changeset 11582:1d4b34308487 jdk8u72-b31

Merge
author alitvinov
date Wed, 30 Dec 2015 14:02:50 +0300
parents bbe81105875d 9a843dc6f959
children 0ffeaaedc245
files .hgtags
diffstat 3 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Mon Dec 21 10:56:08 2015 -0800
+++ b/.hgtags	Wed Dec 30 14:02:50 2015 +0300
@@ -517,6 +517,7 @@
 8181f8b6ef0d861f57547c89e52f258cb5583b77 jdk8u71-b12
 23a6e0931277e7d4278605f55db2c81fcb3907b0 jdk8u71-b13
 1ad1d1b46fef8bf88f36b8d0fae6b51df2de7fb2 jdk8u71-b14
+06e7500086a69545a9f55bf5fec23969abe32c57 jdk8u71-b15
 be5faa9c77042f202106c18f4e8ea211137b4a3b jdk8u72-b00
 5ad1e9e8e8417f80c91d7e0f1f44cdf89b34ead3 jdk8u72-b01
 ab0c1040414d038ccbcfcc8ceb1ccf2f44ead8e4 jdk8u72-b02
@@ -532,3 +533,4 @@
 8afb58c7312b45fe5237afb0292176b734934f60 jdk8u72-b12
 d841d3fdae44f120883dab0a3a809a054cd0274b jdk8u72-b13
 f6d24d424cd2af4d2612f7737d3d9a25f58b882d jdk8u72-b14
+f3e86cc607260bae368b52d88d7bc8883ee767e3 jdk8u72-b15
--- a/src/share/native/sun/font/layout/Features.cpp	Mon Dec 21 10:56:08 2015 -0800
+++ b/src/share/native/sun/font/layout/Features.cpp	Wed Dec 30 14:02:50 2015 +0300
@@ -43,9 +43,10 @@
     LEReferenceToArrayOf<FeatureRecord>
         featureRecordArrayRef(base, success, featureRecordArray, SWAPW(featureCount));
 
-  if (featureIndex >= SWAPW(featureCount) || LE_FAILURE(success)) {
-    return LEReferenceTo<FeatureTable>();
-  }
+    if (featureIndex >= SWAPW(featureCount) || LE_FAILURE(success)) {
+        success = LE_INDEX_OUT_OF_BOUNDS_ERROR;
+        return LEReferenceTo<FeatureTable>();
+    }
 
     Offset featureTableOffset = featureRecordArray[featureIndex].featureTableOffset;
 
--- a/src/share/native/sun/font/layout/Lookups.cpp	Mon Dec 21 10:56:08 2015 -0800
+++ b/src/share/native/sun/font/layout/Lookups.cpp	Wed Dec 30 14:02:50 2015 +0300
@@ -42,6 +42,7 @@
   LEReferenceToArrayOf<Offset> lookupTableOffsetArrayRef(base, success, (const Offset*)&lookupTableOffsetArray, SWAPW(lookupCount));
 
   if(LE_FAILURE(success) || lookupTableIndex>lookupTableOffsetArrayRef.getCount()) {
+    success = LE_INDEX_OUT_OF_BOUNDS_ERROR;
     return LEReferenceTo<LookupTable>();
   } else {
     return LEReferenceTo<LookupTable>(base, success, SWAPW(lookupTableOffsetArrayRef.getObject(lookupTableIndex, success)));
@@ -53,6 +54,7 @@
   LEReferenceToArrayOf<Offset> subTableOffsetArrayRef(base, success, (const Offset*)&subTableOffsetArray, SWAPW(subTableCount));
 
   if(LE_FAILURE(success) || subtableIndex>subTableOffsetArrayRef.getCount()) {
+    success = LE_INDEX_OUT_OF_BOUNDS_ERROR;
     return LEReferenceTo<LookupSubtable>();
   } else {
     return LEReferenceTo<LookupSubtable>(base, success, SWAPW(subTableOffsetArrayRef.getObject(subtableIndex, success)));