mirror of
https://github.com/mandiant/capa.git
synced 2025-12-12 15:49:46 -08:00
fix is_ordinal IndexError
```
Traceback (most recent call last):
File "/opt/CAPE/utils/../lib/cuckoo/common/cape_utils.py", line 223, in flare_capa_details
capabilities, counts = capa.main.find_capabilities(rules, extractor, disable_progress=True)
File "/usr/local/lib/python2.7/dist-packages/capa/main.py", line 116, in find_capabilities
function_matches, bb_matches, feature_count = find_function_capabilities(ruleset, extractor, f)
File "/usr/local/lib/python2.7/dist-packages/capa/main.py", line 68, in find_function_capabilities
for feature, va in extractor.extract_insn_features(f, bb, insn):
File "/usr/local/lib/python2.7/dist-packages/capa/features/extractors/viv/__init__.py", line 84, in extract_insn_features
for feature, va in capa.features.extractors.viv.insn.extract_features(f, bb, insn):
File "/usr/local/lib/python2.7/dist-packages/capa/features/extractors/viv/insn.py", line 599, in extract_features
for feature, va in insn_handler(f, bb, insn):
File "/usr/local/lib/python2.7/dist-packages/capa/features/extractors/viv/insn.py", line 93, in extract_insn_api_features
for name in capa.features.extractors.helpers.generate_symbols(dll, symbol):
File "/usr/local/lib/python2.7/dist-packages/capa/features/extractors/helpers.py", line 61, in generate_symbols
if not is_ordinal(symbol):
File "/usr/local/lib/python2.7/dist-packages/capa/features/extractors/helpers.py", line 45, in is_ordinal
return symbol[0] == "#"
IndexError: string index out of range
```
This commit is contained in:
@@ -42,7 +42,9 @@ def is_ordinal(symbol):
|
||||
"""
|
||||
is the given symbol an ordinal that is prefixed by "#"?
|
||||
"""
|
||||
return symbol[0] == "#"
|
||||
if symbol:
|
||||
return symbol[0] == "#"
|
||||
return False
|
||||
|
||||
|
||||
def generate_symbols(dll, symbol):
|
||||
|
||||
Reference in New Issue
Block a user