diff src/cpu/x86/vm/assembler_x86.cpp @ 1016:d40f03b57795

6890984: Comparison of 2 arrays could cause VM crash Summary: Restore original null checks. Reviewed-by: never, cfang
author kvn
date Wed, 14 Oct 2009 15:03:32 -0700
parents 62001a362ce9
children beb8f45ee9f0 323bd24c6520
line wrap: on
line diff
--- a/src/cpu/x86/vm/assembler_x86.cpp	Wed Oct 14 11:42:59 2009 -0700
+++ b/src/cpu/x86/vm/assembler_x86.cpp	Wed Oct 14 15:03:32 2009 -0700
@@ -8634,8 +8634,10 @@
 
   if (is_array_equ) {
     // Need additional checks for arrays_equals.
-    andptr(ary1, ary2);
-    jcc(Assembler::zero, FALSE_LABEL); // One pointer is NULL
+    testptr(ary1, ary1);
+    jcc(Assembler::zero, FALSE_LABEL);
+    testptr(ary2, ary2);
+    jcc(Assembler::zero, FALSE_LABEL);
 
     // Check the lengths
     movl(limit, Address(ary1, length_offset));