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

Reply via email to