if string_search is not None:
for xmlfile in xmlfiles:
+ if not os.path.isfile(xmlfile):
+ continue
for line in file(xmlfile):
matches = string_search(line)
if matches:
name_search = re.compile(r'.*android:label="([^"]+)".*').search
app_found = False
for f in manifest_paths(app_dir, flavours):
- if not has_extension(f, 'xml'):
+ if not has_extension(f, 'xml') or not os.path.isfile(f):
continue
logging.debug("fetch_real_name: Checking manifest at " + f)
for line in file(f):
for path in paths:
+ if not os.path.isfile(path):
+ continue
+
logging.debug("Parsing manifest at {0}".format(path))
gradle = has_extension(path, 'gradle')
version = None
else:
warnproblem('unknown compressed or binary file', fd)
- elif has_extension(fp, 'java'):
+ elif has_extension(fp, 'java') and os.path.isfile(fp):
for line in file(fp):
if 'DexClassLoader' in line:
count += handleproblem('DexClassLoader', fd, fp)
def __init__(self):
self.path = os.path.join('stats', 'known_apks.txt')
self.apks = {}
- if os.path.exists(self.path):
+ if os.path.isfile(self.path):
for line in file(self.path):
t = line.rstrip().split(' ')
if len(t) == 2: