mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Remove CHECK_1 and CHECK_1_NULL_OK.
This commit is contained in:
@ -24,7 +24,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
long int
|
||||
ptrace (enum __ptrace_request request, ...)
|
||||
@ -43,77 +42,6 @@ ptrace (enum __ptrace_request request, ...)
|
||||
if (request > 0 && request < 4)
|
||||
data = &ret;
|
||||
|
||||
#if __BOUNDED_POINTERS__
|
||||
switch (request)
|
||||
{
|
||||
case PTRACE_PEEKTEXT:
|
||||
case PTRACE_PEEKDATA:
|
||||
case PTRACE_PEEKUSER:
|
||||
case PTRACE_POKETEXT:
|
||||
case PTRACE_POKEDATA:
|
||||
case PTRACE_POKEUSER:
|
||||
(void) CHECK_1 ((int *) addr);
|
||||
(void) CHECK_1 ((int *) data);
|
||||
break;
|
||||
|
||||
case PTRACE_GETREGS:
|
||||
case PTRACE_SETREGS:
|
||||
#ifdef __i386__
|
||||
(void) CHECK_1 ((struct user_regs_struct *) data);
|
||||
#else
|
||||
/* We don't know the size of data, so the best we can do is ensure
|
||||
that `data' is valid for at least one word. */
|
||||
(void) CHECK_1 ((int *) data);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case PTRACE_GETFPREGS:
|
||||
case PTRACE_SETFPREGS:
|
||||
#ifdef __i386__
|
||||
(void) CHECK_1 ((struct user_fpregs_struct *) data);
|
||||
#else
|
||||
/* We don't know the size of data, so the best we can do is ensure
|
||||
that `data' is valid for at least one word. */
|
||||
(void) CHECK_1 ((int *) data);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case PTRACE_GETFPXREGS:
|
||||
case PTRACE_SETFPXREGS:
|
||||
#ifdef __i386__
|
||||
(void) CHECK_1 ((struct user_fpxregs_struct *) data);
|
||||
#else
|
||||
/* We don't know the size of data, so the best we can do is ensure
|
||||
that `data' is valid for at least one word. */
|
||||
(void) CHECK_1 ((int *) data);
|
||||
#endif
|
||||
break;
|
||||
|
||||
case PTRACE_GETSIGINFO:
|
||||
case PTRACE_SETSIGINFO:
|
||||
(void) CHECK_1 ((siginfo_t *) data);
|
||||
break;
|
||||
|
||||
case PTRACE_GETEVENTMSG:
|
||||
(void) CHECK_1 ((unsigned long *) data);
|
||||
break;
|
||||
|
||||
case PTRACE_SETOPTIONS:
|
||||
(void) CHECK_1 ((long *) data);
|
||||
break;
|
||||
|
||||
case PTRACE_TRACEME:
|
||||
case PTRACE_CONT:
|
||||
case PTRACE_KILL:
|
||||
case PTRACE_SINGLESTEP:
|
||||
case PTRACE_ATTACH:
|
||||
case PTRACE_DETACH:
|
||||
case PTRACE_SYSCALL:
|
||||
/* Neither `data' nor `addr' needs any checks. */
|
||||
break;
|
||||
};
|
||||
#endif
|
||||
|
||||
res = INLINE_SYSCALL (ptrace, 4, request, pid,
|
||||
__ptrvalue (addr), __ptrvalue (data));
|
||||
if (res >= 0 && request > 0 && request < 4)
|
||||
|
Reference in New Issue
Block a user