mirror of https://gerrit.osmocom.org/pysim
filesystem: be more strict in method add_file()
The file identifier of a file is strictly defined as a two digit hexadecimal number. Do not allow adding child files that violate this constraint. Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Related: OS#4963
This commit is contained in:
parent
d51d8b5575
commit
3aec871978
|
@ -31,7 +31,7 @@ import cmd2
|
|||
from cmd2 import CommandSet, with_default_category, with_argparser
|
||||
import argparse
|
||||
|
||||
from pySim.utils import sw_match, h2b, b2h
|
||||
from pySim.utils import sw_match, h2b, b2h, is_hex
|
||||
from pySim.exceptions import *
|
||||
|
||||
class CardFile(object):
|
||||
|
@ -144,6 +144,8 @@ class CardDF(CardFile):
|
|||
"""Add a child (DF/EF) to this DF"""
|
||||
if not isinstance(child, CardFile):
|
||||
raise TypeError("Expected a File instance")
|
||||
if not is_hex(child.fid, minlen = 4, maxlen = 4):
|
||||
raise ValueError("File name %s is not a valid fid" % (child.fid))
|
||||
if child.name in CardFile.RESERVED_NAMES:
|
||||
raise ValueError("File name %s is a reserved name" % (child.name))
|
||||
if child.fid in CardFile.RESERVED_FIDS:
|
||||
|
|
Loading…
Reference in New Issue