diff --git a/virtualsmartcard/src/vpicc/virtualsmartcard/SEutils.py b/virtualsmartcard/src/vpicc/virtualsmartcard/SEutils.py index 4d5cf7b..a791b2c 100644 --- a/virtualsmartcard/src/vpicc/virtualsmartcard/SEutils.py +++ b/virtualsmartcard/src/vpicc/virtualsmartcard/SEutils.py @@ -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"]) diff --git a/virtualsmartcard/src/vpicc/virtualsmartcard/VirtualSmartcard.py b/virtualsmartcard/src/vpicc/virtualsmartcard/VirtualSmartcard.py index 62a511f..207f481 100644 --- a/virtualsmartcard/src/vpicc/virtualsmartcard/VirtualSmartcard.py +++ b/virtualsmartcard/src/vpicc/virtualsmartcard/VirtualSmartcard.py @@ -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)