Message353251
To test bpo-32375, I just recompiled the master branch of Python twice using these flags:
* -D_FORTIFY_SOURCE=2 -Og
* -D_FORTIFY_SOURCE=2 -O3
I got a few warnings, the same that I get without FORTIFY SOURCE.
Using -D_FORTIFY_SOURCE=2 -O3, I get one warning, but it's no longer from getpath.c:
In file included from /usr/include/string.h:494,
from ./Include/Python.h:30,
from /home/vstinner/python/master/Modules/socketmodule.c:103:
In function ‘memset’,
inlined from ‘getsockaddrarg’ at /home/vstinner/python/master/Modules/socketmodule.c:2331:9,
inlined from ‘sock_bind’ at /home/vstinner/python/master/Modules/socketmodule.c:3113:10:
/usr/include/bits/string_fortified.h:71:10: warning: ‘__builtin_memset’ offset [17, 88] from the object at ‘addrbuf’ is out of the bounds of referenced subobject ‘sa’ with type ‘struct sockaddr’ at offset 0 [-Warray-bounds]
71 | return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The warning comes from the code:
case AF_ALG:
...
struct sockaddr_alg *sa;
sa = (struct sockaddr_alg *)addr_ret;
memset(sa, 0, sizeof(*sa));
called from:
static PyObject *
sock_bind(PySocketSockObject *s, PyObject *addro)
{
sock_addr_t addrbuf;
int addrlen;
int res;
if (!getsockaddrarg(s, addro, SAS2SA(&addrbuf), &addrlen, "bind")) {
return NULL;
} |
|
Date |
User |
Action |
Args |
2019-09-26 01:11:45 | vstinner | set | recipients:
+ vstinner, pitrou, christian.heimes |
2019-09-26 01:11:45 | vstinner | set | messageid: <1569460305.42.0.728817437513.issue38282@roundup.psfhosted.org> |
2019-09-26 01:11:45 | vstinner | link | issue38282 messages |
2019-09-26 01:11:45 | vstinner | create | |
|