fixed handling of missing le in sm apdu

This commit is contained in:
Frank Morgner
2014-12-09 20:32:25 +01:00
parent a35f0295c6
commit ff71e301db
2 changed files with 8 additions and 4 deletions

View File

@@ -397,8 +397,6 @@ class Security_Environment(object):
p1 = CAPDU.p1
if p2 == None:
p2 = CAPDU.p2
if le == None:
le = CAPDU.le
# FIXME
#if expected != "":
#raise SwError(SW["ERR_SECMESSOBJECTSMISSING"])

View File

@@ -242,7 +242,10 @@ class Iso7816OS(SmartcardOS):
if le > len(data):
sw = SW["WARN_EOFBEFORENEREAD"]
result = data[:le]
if le != None:
result = data[:le]
else:
result = data[:0]
if sm:
sw, result = self.SAM.protect_result(sw, result)
@@ -534,7 +537,10 @@ class NPAOS(Iso7816OS):
if le > len(data) and le != MAX_EXTENDED_LE and le != MAX_SHORT_LE:
sw = SW["WARN_EOFBEFORENEREAD"]
result = data[:le]
if le != None:
result = data[:le]
else:
result = data[:0]
if sm:
try:
sw, result = self.SAM.protect_result(sw, result)