Compile contrib/tzcode/stdtime/localtime.c with -fwrapv, since it relies
on signed integer overflow wrapping. Otherwise mktime(3) and timegm(3) can hang, in case the timestamp passed in struct tm is not representable in a time_t. Specifically, any timestamp after 2038-01-19 03:14:07, in combination with a 32-bit time_t. Note that it would be better to change the code to not rely on undefined behaviour, but it is contributed code, and it is not entirely trivial to fix the issue properly. MFC after: 3 days
This commit is contained in:
parent
b837332d0a
commit
7e4de3c228
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248672
@ -11,6 +11,9 @@ SYM_MAPS+= ${.CURDIR}/stdtime/Symbol.map
|
||||
|
||||
CFLAGS+= -I${.CURDIR}/../../contrib/tzcode/stdtime -I${.CURDIR}/stdtime
|
||||
|
||||
CFLAGS.localtime.c= -fwrapv
|
||||
CFLAGS+= ${CFLAGS.${.IMPSRC:T}}
|
||||
|
||||
MAN+= ctime.3 strftime.3 strptime.3 time2posix.3
|
||||
MAN+= tzfile.5
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user