...
| Code Block | ||
|---|---|---|
| ||
package ssnvault.values;
public class Ssn {
public String ssn = "001 01 0001";
}
package ssnvault.values;
public class SsnVerify {
public static void main(String[] args) {
Ssn number = new Ssn();
System.out.println("Please enter last four digits of your SSN:");
//perform verification
}
}
|
Version Specific Details
The behavior described above has been demonstrated in Java 1.5.0 versions running on Mac OS X Tiger, Solaris 10/Sparc64, and Ubuntu Linux 8.04, but not in Java 1.6.0 versions running on Windows XP or Linux.
Compliant Solution
It is vital to re-compile both Ssn and SsnVerify classes so that the bytecode verifier can be applied to detect the non-conforming code.
Alternatively, to force bytecode verification when the unmodified class is loaded, the -verifyXverify:all flag can be specified on the java command line.
The verification process is automatically initiated unless the -noverifyXverify:none flag is specified at command line. On Java 2 systems, classes loaded by the primordial class loader (that loads classes from the boot class path) are not required to perform bytecode verification.
...