这段代码为何会引起device栈泄漏
来源:互联网 发布:苏联解体原因知乎 编辑:程序博客网 时间:2024/04/28 01:44
unsigned long currTime = 0;
unsigned long authCode = 668346822;
unsigned short customerID = 3098;
unsigned short customerVersion = 12624;
int num = 0;
unsigned char tmpBuf[64];
void* pTemp = NULL;
pTemp = ddnsMain_p->challengeStr + 6; /*ddnsMain_p->challengeStr 为一个unsigned char 数组*/
currTime = *((unsigned long* )pTemp);
/*debug Philip.Liu China 2007-03-23*/
DDNS_TRACE("peanutAuth() the time:/n%u/n",currTime);
num = (currTime / 30) % 32;
authCode = (~authCode) | (~currTime);
authCode = (authCode << (32 - num)) | (authCode >> num);
/*debug Philip.Liu China 2007-03-23*/
DDNS_TRACE("peanutAuth() the authcode:/n%u/n",authCode);
pTemp = tmpBuf + tmpLen;
*((unsigned long* )pTemp) = authCode;
tmpLen += 4;
pTemp = tmpBuf + tmpLen;
*((unsigned short*)pTemp) = customerID;
tmpLen += 2;
pTemp = tmpBuf + tmpLen;
*((unsigned short* )pTemp) = customerVersion;
tmpLen += 2;
ddnsMain_p是一个结构体类型
typedef struct ddnsMain_s {
uint16 flags;
/* define SP_DDNS_DDNS_ORG 0x01
define SP_DDNS_DYNDNS_ORG 0x02
define SP_DDNS_TZO_COM 0x03 */
uint16 serviceType;
int state; /* state */
int substate;
int retCode;
ip4a ipAddr; /* dns ip address */
#ifdef DDNS_HTTP
ip4a proxyAddr; /* proxy address */
uint16 proxyPort; /* proxy port */
uint8 proxySet; /* proxy set flag */
#endif
uint32 pauseTime;
uint32 tcpWaitTime;
tm_id_t timerID;
int socketID;
struct sockaddr_in socket;
uint32 transID;
uint16 port; /* destination port */
uint16 lPort; /* local port */
uint8 user[USER_NAME_LEN]; /* 32 */
uint8 password[USER_PSWD_LEN]; /* 32 */
uint8 eMail[SP_EMAIL_LEN]; /* 64 */
#ifdef NEW_GUI
#ifdef DDNS_HTTP
uint8 serverAddress[SERVER_ADDRESS_LEN]; /* 64 */
uint8 serverMode; /* ddns Server mode: Provider default or User defined */
void * wcRequestPtr;
uint16 timeout;
uint8 token[OUT_USER_NAME_LEN];
uint8 salt[11];
uint8 time[11];
uint8 sign[33];
uint8 reqc;
uint8 reqNum;
#endif
uint8 domainName[OUT_USER_NAME_LEN*3+2]; /* 3 host(64 char len) + 2 ',' comma */
uint8 ddnsType; /* dynamin, static, or custom */
#else
uint8 domainName[OUT_USER_NAME_LEN]; /* 64 */
#endif
uint32 successCnt;
uint32 startcnt;
uint32 stopcnt;
uint32 retrycnt;
uint32 retryTime;
struct iface_s *ifp;
uint32 lastUpdateTime;
#ifdef DDNS_PEANUT
int32 sessNo;
uint32 seqNoOrig;
uint8 challengeStr[32];
int challengeStrLen;
uint8 sendBuf[20];
uint32 udpWaitTime;
int udpSocketID;
struct sockaddr_in udpSocket;
struct sockaddr_in udpLocalSin;
struct sockaddr_in localSin;
uint32 kaFailCnt;
#endif
} ddnsMain_t; /* ddnsMain_t */
- 这段代码为何会引起device栈泄漏
- Device Tree(一):为何ARM linux会引入Device Tree
- C++ 构造函数抛出异常会引起内存泄漏吗?
- C++ 构造函数抛出异常会引起内存泄漏吗?
- C++ 构造函数抛出异常会引起内存泄漏吗?
- C++ 构造函数抛出异常会引起内存泄漏吗?
- C++ 构造函数抛出异常会引起内存泄漏吗?
- 请问我这段多线程代码为什么会死机?
- 这段时间会很忙
- 解决事件会引起内存泄漏的问题:Weak Event Handlers
- 代码_20100913_为何会出现运行错误呢?
- 这段代码为什么会被太多太多的人转载?
- 知道这段递归代码为什么会溢出么?请牢记!
- 这段代码的第17行为什么会出现空指针异常呢
- 看看这段代码!!!!
- 这段代码是什么意思
- Android开发中你总会用到的代码段
- 函数栈溢出引起的段错误segmentation fault
- Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 队列
- 链栈
- 连接Oracle的JSP测试程序
- XML文件操作:[学习xpath]XPath最通俗的教程
- 这段代码为何会引起device栈泄漏
- 顺序栈
- 今天见到牛人啦!兴奋啊
- 命名空间释疑一则
- H.264中定义的sequence parameter sets
- 删除隐藏在WindowsXP系统深处的组件
- 无标题20070323
- 访问Win XP 共享出现的问题解决办法
- 清除电脑里所有浪费内存的垃圾文件