Don't use string=True for symbolic arg/env (#256)

This very strictly constrains the arg/env to the length of the symbolic
string which is too strict for many use cases.

For example:

manticore ./bin +++++

that symbolic string would only be allowed to be strings of length 5,
and no shorter.
This commit is contained in:
Mark Mossberg
2017-05-15 17:38:22 -04:00
committed by GitHub
parent 42c28e0256
commit e5aca50e1f
+2 -4
View File
@@ -49,12 +49,10 @@ def makeLinux(program, argv, env, concrete_start = ''):
logger.info('Starting with concrete input: {}'.format(concrete_start))
for i, arg in enumerate(argv):
argv[i] = initial_state.symbolicate_buffer(arg, label='ARGV%d' % (i+1),
string=True)
argv[i] = initial_state.symbolicate_buffer(arg, label='ARGV%d' % (i+1))
for i, evar in enumerate(env):
env[i] = initial_state.symbolicate_buffer(evar, label='ENV%d' % (i+1),
string=True)
env[i] = initial_state.symbolicate_buffer(evar, label='ENV%d' % (i+1))
# If any of the arguments or environment refer to symbolic values, re-
# initialize the stack