The offset parameter of the functions check and update is not used.
My opinion is that:
Util.arrayCopy(pin, (short)0, value, (short)1, length);
should be changed to
Util.arrayCopy(pin, offset, value, (short)1, length);
and
if (Util.arrayCompare(pin, (short) 0, value, (short) 1, length) == 0) {
should be changed to
if (Util.arrayCompare(pin, offset, value, (short) 1, length) == 0) {
in /src/javacard/framework/OwnerPIN.java (https://github.com/martinpaljak/vJCRE/blob/85c7828089fcde0fa8cde89a622b5ec582804947/src/javacard/framework/OwnerPIN.java)
The offset parameter of the functions check and update is not used. My opinion is that: Util.arrayCopy(pin, (short)0, value, (short)1, length); should be changed to Util.arrayCopy(pin, offset, value, (short)1, length);
and if (Util.arrayCompare(pin, (short) 0, value, (short) 1, length) == 0) { should be changed to if (Util.arrayCompare(pin, offset, value, (short) 1, length) == 0) {