提交 e2ed37bc 编写于 作者: R rofl0r

fix timezone parser code crashing on 64bit sys

if sizeof(time_t) == 8, this code path was missing the correct
offset into the zoneinfo file, using the header magic to do
offset calculations.
the 6 32bit fields to be read start at offset 20.
上级 7b5beabc
......@@ -176,7 +176,7 @@ static void do_tzset()
if (map) {
int scale = 2;
if (sizeof(time_t) > 4 && map[4]=='2') {
size_t skip = zi_dotprod(zi, VEC(1,1,8,5,6,1), 6);
size_t skip = zi_dotprod(zi+20, VEC(1,1,8,5,6,1), 6);
trans = zi+skip+44+20;
scale++;
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册