net-snmp 出现内存泄露问题,请指教!
int SnmpSetString(const char *sIPaddress,const char *sOidTmp,char types,char *values)
{
netsnmp_session session, *ss;
netsnmp_pdu *pdu;
netsnmp_pdu *response;
oid anOID[MAX_OID_LEN];
size_t anOID_len=MAX_OID_LEN;
int status;
int iReturnValue=0;
Initsnmp(&session,(char*)sIPaddress,"snmpset"); //初始化session
ss = snmp_open(&session);
if (ss == NULL)
{
snmp_sess_perror("snmpset", &session);
SOCK_CLEANUP;
return iReturnValue;
}
pdu = snmp_pdu_create(SNMP_MSG_SET);
if(NULL==pdu)
{
//snmp_perror(sOidTmp);
SOCK_CLEANUP;
return iReturnValue;
}
if (!snmp_parse_oid(sOidTmp, anOID, &anOID_len))
{
//snmp_perror(sOidTmp);
snmp_close(ss);
SOCK_CLEANUP;
return iReturnValue;
}
if(snmp_add_var(pdu, anOID, anOID_len,types, values))
{
//snmp_perror(sOidTmp);
snmp_close(ss);
SOCK_CLEANUP;
return iReturnValue;
}
/*
* Send the Request out.
*/
status = snmp_synch_response(ss, pdu, &response);
if (status == STAT_SUCCESS && response->errstat == SNMP_ERR_NOERROR)
{
iReturnValue=2;
}
else
{
iReturnValue=1;
}
if (response)
{
snmp_free_pdu(response);
}
snmp_close(ss);
SOCK_CLEANUP;
return iReturnValue;
}
...全文
相关推荐
net-snmp开始教程
Net-SNMP 开发环境配置要开发 Net-SNMP 应用程序,需要配置开发环境,包括:1. 下载 Net-SNMP 代码:从官方网站下载 Net-SNMP 代码。2.
windows下编译使用Net-SNMP
### Windows 下编译使用 Net-SNMP 的详细指南#### 一、Net-SNMP简介与下载Net-SNMP 是一个开源项目,提供了一系列关于 Simple Network Management
net-snmp开发详解
**解决依赖问题**:在某些情况下,编译可能会因为缺少像zlib和openssl这样的库而失败。你需要为交叉编译环境安装这些库。
windows下安装net-snmp代理
安装 Net-SNMP首先,需要下载 Net-SNMP 的安装程序,网址为 <http://www.net-snmp.org/download.html>。
net-snmp 的安装和配置
**监控与管理**: 通过SNMP,管理员可以远程获取网络设备的状态信息,设置设备参数,甚至在出现问题时接收到通知。10. **版本兼容性**: SNMP有多个版本,包括v1、v2c和v3。


