-
- Downloads
Implement -fsanitize=vla-bound.
* opts.c (common_handle_option): Handle vla-bound. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE): Define. * flag-types.h (enum sanitize_code): Add SANITIZE_VLA. * asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR. c-family/ * c-ubsan.c: Don't include hash-table.h. (ubsan_instrument_vla): New function. * c-ubsan.h: Declare it. cp/ * decl.c (cp_finish_decl): Move C++1y bounds checking... (compute_array_index_type): ...here. Add VLA instrumentation. Call stabilize_vla_size. (grokdeclarator): Don't call stabilize_vla_size here. c/ * c-decl.c (grokdeclarator): Add VLA instrumentation. testsuite/ * g++.dg/ubsan/cxx1y-vla.C: New test. * c-c++-common/ubsan/vla-3.c: New test. * c-c++-common/ubsan/vla-2.c: New test. * c-c++-common/ubsan/vla-4.c: New test. * c-c++-common/ubsan/vla-1.c: New test. From-SVN: r204334
Showing
- gcc/ChangeLog 9 additions, 0 deletionsgcc/ChangeLog
- gcc/asan.c 3 additions, 0 deletionsgcc/asan.c
- gcc/c-family/ChangeLog 6 additions, 0 deletionsgcc/c-family/ChangeLog
- gcc/c-family/c-ubsan.c 20 additions, 3 deletionsgcc/c-family/c-ubsan.c
- gcc/c-family/c-ubsan.h 1 addition, 0 deletionsgcc/c-family/c-ubsan.h
- gcc/c/ChangeLog 4 additions, 0 deletionsgcc/c/ChangeLog
- gcc/c/c-decl.c 11 additions, 0 deletionsgcc/c/c-decl.c
- gcc/cp/ChangeLog 7 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/decl.c 30 additions, 25 deletionsgcc/cp/decl.c
- gcc/flag-types.h 2 additions, 0 deletionsgcc/flag-types.h
- gcc/opts.c 1 addition, 0 deletionsgcc/opts.c
- gcc/sanitizer.def 4 additions, 0 deletionsgcc/sanitizer.def
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/c-c++-common/ubsan/vla-1.c 48 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/vla-1.c
- gcc/testsuite/c-c++-common/ubsan/vla-2.c 15 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/vla-2.c
- gcc/testsuite/c-c++-common/ubsan/vla-3.c 16 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/vla-3.c
- gcc/testsuite/c-c++-common/ubsan/vla-4.c 13 additions, 0 deletionsgcc/testsuite/c-c++-common/ubsan/vla-4.c
- gcc/testsuite/g++.dg/ubsan/cxx1y-vla.C 13 additions, 0 deletionsgcc/testsuite/g++.dg/ubsan/cxx1y-vla.C
Loading
Please register or sign in to comment