On 3/10/25 5:48 PM, Bart Van Assche wrote:
diff --git a/include/SNMPSession.h b/include/SNMPSession.h
index 932b3d96ce17..e12ef0a2f893 100644
--- a/include/SNMPSession.h
+++ b/include/SNMPSession.h
@@ -32,7 +32,7 @@
class SNMPSession {
public:
struct snmp_session session;
- void *session_ptr;
+ decltype(snmp_sess_open(NULL)) session_ptr;
SNMPSession();
~SNMPSession();
diff --git a/src/SNMP.cpp b/src/SNMP.cpp
index 1763bcac5175..f97e4969a432 100644
--- a/src/SNMP.cpp
+++ b/src/SNMP.cpp
@@ -453,13 +453,16 @@ bool SNMP::send_snmp_request(char *agent_host,
u_int version, char *community,
if((!strcasecmp(level, "authNoPriv")) ||
(!strcasecmp(level, "authPriv"))) {
if(!strcasecmp(auth_protocol, "md5")) {
- snmpSession->session.securityAuthProto =
usmHMACMD5AuthProtocol;
- snmpSession->session.securityAuthProtoLen =
- sizeof(usmHMACMD5AuthProtocol) / sizeof(oid);
+ const int len = sizeof(usmHMACMD5AuthProtocol) / sizeof(oid);
+ snmpSession->session.securityAuthProto =
+ static_cast<oid *>(netsnmp_memdup(usmHMACMD5AuthProtocol,
len));
+ snmpSession->session.securityAuthProtoLen = len;
snmpSession->session.securityAuthKeyLen = USM_AUTH_KU_LEN;
} else if(!strcasecmp(auth_protocol, "sha")) {
- snmpSession->session.securityAuthProto =
usmHMACSHA1AuthProtocol;
- snmpSession->session.securityAuthProtoLen =
sizeof(usmHMACSHA1AuthProtocol) / sizeof(oid);
+ const int len = sizeof(usmHMACSHA1AuthProtocol) / sizeof(oid);
+ snmpSession->session.securityAuthProto =
+ static_cast<oid
*>(netsnmp_memdup(usmHMACSHA1AuthProtocol, len));
+ snmpSession->session.securityAuthProtoLen = len;
snmpSession->session.securityAuthKeyLen =
USM_AUTH_KU_LEN; /* CHECK */
#ifdef usmHMAC192SHA256AuthProtocol
} else if(!strcasecmp(auth_protocol, "sha256")) {
The above patch has been split and has been submitted as a pull request
to the ntopng project. See also
https://github.com/ntop/ntopng/pull/9028#issuecomment-2718468627.
Bart.
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders