问题描述
- unix系统调用getenv() 出core
-
在获取当地时间时, localtime调用到getenv函数出现core,,不是第一次调用的时候, 是在连续很快的调用情况下会出现core。 大家帮忙看看什么原因。代码如下:
struct tm* ts; ts = localtime(&now.tv_sec); if (ts == NULL) { printf("localtime : %d, %sn", 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
时间: 2024-09-08 12:54:04