GETREGS fix for old ARM kernels

PTRACE_GETREGS for some old ARM kernels is failing to extract
register values if provided struct size is bigger than expected pt_regs.

This commit fixes the bug by avoiding 32/64-bit structs multiplexing for
ARM kernels. arch_getPC() will always execute the 32bit branch so no
further pre-processor pollution is required.

Bug has been spotted when fuzzing with Nexus4 5.1.1 running 3.4 kernel

Signed-off-by: Anestis Bechtsoudis <anestis@census-labs.com>
1 file changed
tree: d1ba5d74eebffb1e85f55a09a786fe099f14a4b9
  1. android/
  2. docs/
  3. examples/
  4. interceptor/
  5. linux/
  6. mac/
  7. posix/
  8. third_party/
  9. .gitignore
  10. arch.h
  11. CHANGELOG
  12. common.h
  13. CONTRIBUTING
  14. COPYING
  15. files.c
  16. files.h
  17. fuzz.c
  18. fuzz.h
  19. honggfuzz.c
  20. log.c
  21. log.h
  22. Makefile
  23. mangle.c
  24. mangle.h
  25. README.md
  26. report.c
  27. report.h
  28. util.c
  29. util.h
README.md

honggfuzz

Description

Code

Requirements

  • Linux - BFD library (libbfd-dev) and LibUnwind (libunwind-dev/libunwind8-dev)
  • FreeBSD - gmake
  • Android - Android SDK/NDK

Other

This is NOT an official Google product.