https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108251
Bug ID: 108251
Summary: false positive: null dereference
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: analyzer
Assignee: dmalcolm at gcc dot gnu.org
Reporter: chipitsine at gmail dot com
Target Milestone: ---
repro steps:
git clone https://github.com/haproxy/haproxy
cd haproxy
export CC=/home/ilia/gcc/gcc-home/bin/gcc
make TARGET=linux-glibc USE_OPENSSL=1 DEBUG_CFLAGS="-fanalyzer"
this finding is wrong
```
src/ssl_sample.c:502:34: warning: dereference of NULL '0' [CWE-476]
[-Wanalyzer-null-dereference]
502 | smp->data.u.sint = ((conn->flags & CO_FL_EARLY_DATA) &&
| ~~~~^~~~~~~
'smp_fetch_ssl_fc_has_early': events 1-3
|
| 491 | if (!ssl)
| | ^
| | |
| | (1) following 'false' branch (when 'ssl' is
non-NULL)...
|......
| 494 | smp->flags = 0;
| | ~~~~~~~~~~~~~~
| | |
| | (2) ...to here
|......
| 502 | smp->data.u.sint = ((conn->flags & CO_FL_EARLY_DATA) &&
| | ~~~~~~~~~~~
| | |
| | (3) dereference of NULL
'<unknown>'
|
```
if conn is null, we'll return here (two lines above):
```
ssl = ssl_sock_get_ssl_object(conn);
if (!ssl)
return 0;
```
detailed review:
https://github.com/haproxy/haproxy/issues/1745#issuecomment-1367200781