在获取当地时间时, localtime调用到getenv函数出现core,,不是第一次调用的时候, 是在连续很快的调用情况下会出现core。 大家帮忙看看什么原因。
代码如下:
struct tm* ts;
ts = localtime(&now.tv_sec);
if (ts == NULL)
{
printf("localtime : %d, %s\n", errno, strerror(errno));
return ;
}
core 信息如下:
Program terminated with signal 11, Segmentation fault.
SEGV_MAPERR - Address not mapped to object
#0 0xc000000000338420:0 in getenv+0x1160 () from /usr/lib/hpux64/libc.so.1
(gdb) where
#0 0xc000000000338420:0 in getenv+0x1160 () from /usr/lib/hpux64/libc.so.1
#1 0xc000000000333a50:0 in tzset+0x110 () from /usr/lib/hpux64/libc.so.1
#2 0xc000000000330510:0 in localtime_r+0x120 () from /usr/lib/hpux64/libc.so.1
#3 0xc0000000003301d0:0 in localtime+0x30 () from /usr/lib/hpux64/libc.so.1