https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110198

            Bug ID: 110198
           Summary: [14 regression] g++.dg/analyzer/pr100244.C fails after
                    r14-1632-g9589a46ddadc8b
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:9589a46ddadc8b93c224c3f84fa94746c04596bf, r14-1632-g9589a46ddadc8b
make  -k check-gcc RUNTESTFLAGS="analyzer.exp=g++.dg/analyzer/pr100244.C"
FAIL: g++.dg/analyzer/pr100244.C  -std=c++14  (test for warnings, line 17)
FAIL: g++.dg/analyzer/pr100244.C  -std=c++17  (test for warnings, line 17)
FAIL: g++.dg/analyzer/pr100244.C  -std=c++20  (test for warnings, line 17)
# of expected passes            5
# of unexpected failures        3

I did not see any warnings in the log files from this but line 17 is:

  ~_Hashtable_alloc () { delete _M_buckets; } // { dg-warning "on the stack" }

so it may be a missing warning.


Also this one:

make  -k check-gcc RUNTESTFLAGS="analyzer.exp=gcc.dg/analyzer/pr101962.c"
FAIL: gcc.dg/analyzer/pr101962.c  (test for warnings, line 19)
# of expected passes            9
# of unexpected failures        1


line 19 is:

  int stack; /* { dg-message "region created on stack here" } */


It generated a bunch of warnings:

/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c: In
function 'test_1':
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:23:3:
warning: FALSE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:24:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c: In
function 'test_s':
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:43:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:45:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:47:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:49:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:51:3:
warning: TRUE
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c: In
function 'test_1':
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:25:10:
warning: stack-based buffer over-read [CWE-126] [-Wanalyzer-out-of-bounds]
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:17:1:
note: (1) entry to 'test_1'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:19:7:
note: (2) capacity: 4 bytes
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:21:7:
note: (3) calling 'maybe_inc_int_ptr' from 'test_1'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:9:1:
note: (4) entry to 'maybe_inc_int_ptr'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:11:6:
note: (5) following 'false' branch (when 'ptr' is non-NULL)...
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:13:10:
note: (6) ...to here
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:21:7:
note: (7) returning to 'test_1' from 'maybe_inc_int_ptr'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:22:7:
note: (8) calling 'maybe_inc_int_ptr' from 'test_1'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:9:1:
note: (9) entry to 'maybe_inc_int_ptr'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:11:6:
note: (10) following 'false' branch (when 'ptr' is non-NULL)...
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:13:10:
note: (11) ...to here
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:22:7:
note: (12) returning to 'test_1' from 'maybe_inc_int_ptr'
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:25:10:
note: (13) out-of-bounds read from byte 8 till byte 11 but 'stack' ends at byte
4
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/analyzer/pr101962.c:25:10:
note: read of 4 bytes from after the end of 'stack'


commit r14-1632-g9589a46ddadc8b93c224c3f84fa94746c04596bf
Author: Benjamin Priour <vultk...@gcc.gnu.org>
Date:   Thu Jun 8 11:38:08 2023 +0200

    analyzer: Standalone OOB-warning [PR109437, PR109439]

Reply via email to