projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add some missing junk in utmp.h
[musl]
/
src
/
misc
/
ptrace.c
diff --git
a/src/misc/ptrace.c
b/src/misc/ptrace.c
index
1cc0016
..
f854069
100644
(file)
--- a/
src/misc/ptrace.c
+++ b/
src/misc/ptrace.c
@@
-8,11
+8,18
@@
long ptrace(int req, ...)
va_list ap;
pid_t pid;
void *addr, *data, *addr2;
va_list ap;
pid_t pid;
void *addr, *data, *addr2;
+ long ret, result;
+
va_start(ap, req);
pid = va_arg(ap, pid_t);
addr = va_arg(ap, void *);
data = va_arg(ap, void *);
addr2 = va_arg(ap, void *);
va_end(ap);
va_start(ap, req);
pid = va_arg(ap, pid_t);
addr = va_arg(ap, void *);
data = va_arg(ap, void *);
addr2 = va_arg(ap, void *);
va_end(ap);
- return syscall(SYS_ptrace, req, pid, addr, data, addr2);
+
+ if (req<4U) data = &result;
+ ret = syscall(SYS_ptrace, req, pid, addr, data, addr2);
+
+ if (ret<0 || req>=4U) return ret;
+ return result;
}
}