深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(2)
2009-09-11 00:00:00 来源:WEB开发网1.3.3 pcap_freealldevs函数
函数pcap_freealldevs()释放由函数pcap_findalldevs_ex()或pcap_findalldevs()返回的网络接口链表,函数参数alldevs为所需释放链表。
函数的主要代码如下:
void pcap_freealldevs(pcap_if_t *alldevs)
{
pcap_if_t *curdev, *nextdev;
pcap_addr_t *curaddr, *nextaddr;
/*遍历链表,释放各节点所占用的资源*/
for (curdev = alldevs; curdev != NULL; curdev = nextdev) {
nextdev = curdev->next;
// 释放所有的地址所占的内存资源
for (curaddr = curdev->addresses; curaddr != NULL; curaddr = nextaddr) {
nextaddr = curaddr->next;
if (curaddr->addr)
free(curaddr->addr);
if (curaddr->netmask)
free(curaddr->netmask);
if (curaddr->broadaddr)
free(curaddr->broadaddr);
if (curaddr->dstaddr)
free(curaddr->dstaddr);
free(curaddr);
}
//释放接口的名字所占的内存资源
free(curdev->name);
//释放接口的描述所占的内存资源
if (curdev->description != NULL)
free(curdev->description);
//释放该接口
free(curdev);
}
}
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式