我的C应用程序有以下两行:
char buf[1024];
sprintf(buf, "%s/game/rabbit/habit/cmd/talkPipe", getenv("APPLICATION_PATH"));
应用程序偶尔会以下列方式与SIGSEGV崩溃:
strlen(ff2ba231, 0, ffbfe1d0, 10, 7fff24d7, 0)+0x50
sprintf(ffbfe2a4, ff2ba231, 0, 74656400, 12, ff362ef2)+0x24
RabbitTalk(ffbfea80, ffbfee50, 1, d, ffbfea12, 0)+0x21c
...
任何人都可以提示可能出现问题的位置/原因吗?
Thanx很多,
答案 0 :(得分:2)
可能因为getenv返回NULL?
即使这不是问题,你应该检查NULL:大多数旧式C函数都没有。
答案 1 :(得分:0)
getenv()
将返回NULL
,这会导致SIGSEGV