diff options
Diffstat (limited to 'pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm')
-rw-r--r-- | pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm b/pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm index e24465f..7b803fa 100644 --- a/pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm +++ b/pwnlib/shellcraft/templates/common/linux/syscalls/prctl.asm @@ -5,7 +5,7 @@ import pwnlib.constants import pwnlib.shellcraft import six %> -<%docstring>prctl(option, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4) -> str +<%docstring>prctl(option, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4, vararg_5) -> str Invokes the syscall prctl. @@ -17,7 +17,7 @@ Arguments: Returns: int </%docstring> -<%page args="option=0, vararg_0=None, vararg_1=None, vararg_2=None, vararg_3=None, vararg_4=None"/> +<%page args="option=0, vararg_0=None, vararg_1=None, vararg_2=None, vararg_3=None, vararg_4=None, vararg_5=None"/> <% abi = pwnlib.abi.ABI.syscall() stack = abi.stack @@ -27,8 +27,8 @@ Returns: can_pushstr = [] can_pushstr_array = [] - argument_names = ['option', 'vararg_0', 'vararg_1', 'vararg_2', 'vararg_3', 'vararg_4'] - argument_values = [option, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4] + argument_names = ['option', 'vararg_0', 'vararg_1', 'vararg_2', 'vararg_3', 'vararg_4', 'vararg_5'] + argument_values = [option, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4, vararg_5] # Load all of the arguments into their destination registers / stack slots. register_arguments = dict() @@ -49,7 +49,7 @@ Returns: target = regs[index] register_arguments[target] = arg elif arg is not None: - stack_arguments[index] = arg + stack_arguments[name] = arg # The argument is not a register. It is a string value, and we # are expecting a string value @@ -77,7 +77,7 @@ Returns: target = regs[index] register_arguments[target] = arg elif arg is not None: - stack_arguments[target] = arg + stack_arguments[name] = arg # Some syscalls have different names on various architectures. # Determine which syscall number to use for the current architecture. @@ -85,7 +85,7 @@ Returns: if hasattr(pwnlib.constants, syscall): break else: - raise Exception("Could not locate any syscalls: %r" % syscalls) + raise Exception("Could not locate any syscalls: %r" % ['SYS_prctl']) %> /* prctl(${', '.join(syscall_repr)}) */ %for name, arg in string_arguments.items(): |