memset coredump 问题
大维啊 2012-05-26 06:26:55 in sec_api_h 定义了EdpInfo一个sokect的结构体
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
struct EdpInfo {
struct sockaddr_in servAddr;
int sock;
};
..
在sec.c 中的局部函数中
struct EdpInfo* edpinfo;
printf("sockaddr_in is %d\n",sizeof(struct sockaddr_in));
printf("edpinfo->servAddr is %d\n",sizeof(edpinfo->servAddr));
memset((unsigned char * )&(edpinfo->servAddr), 0, sizeof(struct sockaddr_in));
edpinfo->sock = -1;
printf("SEC_MAIN =%ld,SEC_PORT=%ld,SEC_TIMEOUT =%ld\n",SEC_MAIN,SEC_PORT,SEC_TIMEOUT);
当执行到memset时就core了.我调gdb查看得
#0 0x06033be7 in memset () from /lib/tls/libc.so.6
(gdb) where
#0 0x06033be7 in memset () from /lib/tls/libc.so.6
#1 0x0a0b7bf0 in ?? ()
#2 0x009fbccc in MCMAPIGenerDisplayKeyonKCED () from /home/feel/Online/lib/libSec.so
#3 0x009fa9b2 in fesp::OXXX::iGernerDisplayMasterKeyOnKCED (this=0x3891bd0) at OXXX.cpp:281
跪求Coredump原因.