summaryrefslogtreecommitdiff
path: root/pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm
diff options
context:
space:
mode:
Diffstat (limited to 'pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm')
-rw-r--r--pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm14
1 files changed, 7 insertions, 7 deletions
diff --git a/pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm b/pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm
index 6baa476..03c6ec0 100644
--- a/pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm
+++ b/pwnlib/shellcraft/templates/common/linux/syscalls/syscall.asm
@@ -5,7 +5,7 @@ import pwnlib.constants
import pwnlib.shellcraft
import six
%>
-<%docstring>syscall(sysno, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4) -> str
+<%docstring>syscall(sysno, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4, vararg_5) -> str
Invokes the syscall syscall.
@@ -17,7 +17,7 @@ Arguments:
Returns:
long
</%docstring>
-<%page args="sysno=0, vararg_0=None, vararg_1=None, vararg_2=None, vararg_3=None, vararg_4=None"/>
+<%page args="sysno=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 = ['sysno', 'vararg_0', 'vararg_1', 'vararg_2', 'vararg_3', 'vararg_4']
- argument_values = [sysno, vararg_0, vararg_1, vararg_2, vararg_3, vararg_4]
+ argument_names = ['sysno', 'vararg_0', 'vararg_1', 'vararg_2', 'vararg_3', 'vararg_4', 'vararg_5']
+ argument_values = [sysno, 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_syscall'])
%>
/* syscall(${', '.join(syscall_repr)}) */
%for name, arg in string_arguments.items():