Merge branch 'V5-6-patches' into V5-7-patches
* V5-6-patches:
CHANGES: snmplib: Rename memdup() into netsnmp_memdup()
Conflicts:
agent/agent_trap.c
agent/helpers/instance.c
agent/helpers/old_api.c
agent/mibgroup/disman/ping/pingCtlTable.c
snmplib/snmp_api.c
snmplib/snmpv3.c
snmplib/transports/snmpTLSTCPDomain.c
diff --git a/agent/agent_trap.c b/agent/agent_trap.c
index dfa9dcf..080b8bf 100644
--- a/agent/agent_trap.c
+++ b/agent/agent_trap.c
@@ -938,7 +938,7 @@
u_char tmp[SPRINT_MAX_LEN];
int len = snmpv3_get_engineID(tmp, sizeof(tmp));
- memdup(&pdu->securityEngineID, tmp, len);
+ pdu->securityEngineID = netsnmp_memdup(tmp, len);
pdu->securityEngineIDLen = len;
}
@@ -1273,7 +1273,7 @@
u_char tmp[SPRINT_MAX_LEN];
len = snmpv3_get_engineID( tmp, sizeof(tmp));
- memdup(&ss->securityEngineID, tmp, len);
+ ss->securityEngineID = netsnmp_memdup(tmp, len);
ss->securityEngineIDLen = len;
}
diff --git a/agent/helpers/instance.c b/agent/helpers/instance.c
index a187d58..a5ee841 100644
--- a/agent/helpers/instance.c
+++ b/agent/helpers/instance.c
@@ -656,7 +656,7 @@
return SNMP_ERR_NOERROR;
}
- memdup((u_char **) & it_save, (u_char *)&it, sizeof(u_long));
+ it_save = netsnmp_memdup(&it, sizeof(u_long));
if (it_save == NULL) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
diff --git a/agent/helpers/table_data.c b/agent/helpers/table_data.c
index 75ddc1d..659d903 100644
--- a/agent/helpers/table_data.c
+++ b/agent/helpers/table_data.c
@@ -96,8 +96,7 @@
if (!row)
return NULL;
- memdup((u_char **) & newrow, (u_char *) row,
- sizeof(netsnmp_table_row));
+ newrow = netsnmp_memdup(row, sizeof(netsnmp_table_row));
if (!newrow)
return NULL;
diff --git a/agent/helpers/table_dataset.c b/agent/helpers/table_dataset.c
index d993993..931c27a 100644
--- a/agent/helpers/table_dataset.c
+++ b/agent/helpers/table_dataset.c
@@ -246,16 +246,16 @@
(netsnmp_table_data_set_storage **) &(newrow->data); data;
newrowdata = &((*newrowdata)->next), data = data->next) {
- memdup((u_char **) newrowdata, (u_char *) data,
- sizeof(netsnmp_table_data_set_storage));
+ *newrowdata = netsnmp_memdup(data,
+ sizeof(netsnmp_table_data_set_storage));
if (!*newrowdata) {
netsnmp_table_dataset_delete_row(newrow);
return NULL;
}
if (data->data.voidp) {
- memdup((u_char **) & ((*newrowdata)->data.voidp),
- (u_char *) data->data.voidp, data->data_len);
+ (*newrowdata)->data.voidp =
+ netsnmp_memdup(data->data.voidp, data->data_len);
if (!(*newrowdata)->data.voidp) {
netsnmp_table_dataset_delete_row(newrow);
return NULL;
@@ -331,8 +331,7 @@
new_col->writable = writable;
new_col->column = column;
if (default_value) {
- memdup((u_char **) & (new_col->data.voidp),
- (u_char *) default_value, default_value_len);
+ new_col->data.voidp = netsnmp_memdup(default_value, default_value_len);
new_col->data_len = default_value_len;
}
if (table_set->default_row == NULL)
diff --git a/agent/helpers/table_tdata.c b/agent/helpers/table_tdata.c
index 5bdb26a..8865084 100644
--- a/agent/helpers/table_tdata.c
+++ b/agent/helpers/table_tdata.c
@@ -125,8 +125,7 @@
if (!row)
return NULL;
- memdup((u_char **) & newrow, (u_char *) row,
- sizeof(netsnmp_tdata_row));
+ newrow = netsnmp_memdup(row, sizeof(netsnmp_tdata_row));
if (!newrow)
return NULL;
diff --git a/agent/mibgroup/agentx/subagent.c b/agent/mibgroup/agentx/subagent.c
index b3da321..1f9d31c 100644
--- a/agent/mibgroup/agentx/subagent.c
+++ b/agent/mibgroup/agentx/subagent.c
@@ -768,7 +768,7 @@
DEBUGMSGTL(("agentx/subagent",
"registering callbacks for session %p\n", s));
- memdup((u_char **)&sess_p, &s, sizeof(s));
+ sess_p = netsnmp_memdup(&s, sizeof(s));
netsnmp_assert(sess_p);
s->myvoid = sess_p;
if (!sess_p)
diff --git a/agent/mibgroup/disman/expression/expExpressionTable.c b/agent/mibgroup/disman/expression/expExpressionTable.c
index ce3b0db..212952d 100644
--- a/agent/mibgroup/disman/expression/expExpressionTable.c
+++ b/agent/mibgroup/disman/expression/expExpressionTable.c
@@ -563,8 +563,7 @@
*/
tmpvar = StorageTmp->expExpression;
tmplen = StorageTmp->expExpressionLen;
- memdup((u_char **) & StorageTmp->expExpression, var_val,
- var_val_len);
+ StorageTmp->expExpression = netsnmp_memdup(var_val, var_val_len);
StorageTmp->expExpressionLen = var_val_len;
break;
@@ -738,8 +737,7 @@
*/
tmpvar = StorageTmp->expExpressionComment;
tmplen = StorageTmp->expExpressionCommentLen;
- memdup((u_char **) & StorageTmp->expExpressionComment, var_val,
- var_val_len);
+ StorageTmp->expExpressionComment = netsnmp_memdup(var_val, var_val_len);
StorageTmp->expExpressionCommentLen = var_val_len;
break;
diff --git a/agent/mibgroup/disman/expression/expObjectTable.c b/agent/mibgroup/disman/expression/expObjectTable.c
index e56f25a..e057f56 100644
--- a/agent/mibgroup/disman/expression/expObjectTable.c
+++ b/agent/mibgroup/disman/expression/expObjectTable.c
@@ -156,9 +156,8 @@
StorageNew->expObjectIDWildcard = EXPOBJCETIDWILDCARD_FALSE;
StorageNew->expObjectSampleType = EXPOBJCETSAMPLETYPE_ABSOLUTEVALUE;
- memdup((unsigned char **)
- &(StorageNew->expObjectDeltaDiscontinuityID),
- (unsigned char *) TimeInstance, sizeof(TimeInstance));
+ StorageNew->expObjectDeltaDiscontinuityID =
+ netsnmp_memdup(TimeInstance, sizeof(TimeInstance));
StorageNew->expObjectDeltaDiscontinuityIDLen =
sizeof(TimeInstance) / sizeof(oid);
@@ -552,8 +551,7 @@
*/
tmpvar = StorageTmp->expObjectID;
tmplen = StorageTmp->expObjectIDLen;
- memdup((u_char **) & StorageTmp->expObjectID, var_val,
- var_val_len);
+ StorageTmp->expObjectID = netsnmp_memdup(var_val, var_val_len);
StorageTmp->expObjectIDLen = var_val_len / sizeof(oid);
break;
@@ -811,8 +809,8 @@
*/
tmpvar = StorageTmp->expObjectDeltaDiscontinuityID;
tmplen = StorageTmp->expObjectDeltaDiscontinuityIDLen;
- memdup((u_char **) & StorageTmp->expObjectDeltaDiscontinuityID,
- var_val, var_val_len);
+ StorageTmp->expObjectDeltaDiscontinuityID =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->expObjectDeltaDiscontinuityIDLen =
var_val_len / sizeof(oid);
break;
@@ -1075,8 +1073,7 @@
*/
tmpvar = StorageTmp->expObjectConditional;
tmplen = StorageTmp->expObjectConditionalLen;
- memdup((u_char **) & StorageTmp->expObjectConditional, var_val,
- var_val_len);
+ StorageTmp->expObjectConditional = netsnmp_memdup(var_val, var_val_len);
StorageTmp->expObjectConditionalLen = var_val_len / sizeof(oid);
break;
diff --git a/agent/mibgroup/disman/mteObjectsTable.c b/agent/mibgroup/disman/mteObjectsTable.c
index c3f331d..09ceb2a 100644
--- a/agent/mibgroup/disman/mteObjectsTable.c
+++ b/agent/mibgroup/disman/mteObjectsTable.c
@@ -437,8 +437,7 @@
*/
tmpvar = StorageTmp->mteObjectsID;
tmplen = StorageTmp->mteObjectsIDLen;
- memdup((u_char **) & StorageTmp->mteObjectsID, var_val,
- var_val_len);
+ StorageTmp->mteObjectsID = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteObjectsIDLen = var_val_len / sizeof(oid);
break;
diff --git a/agent/mibgroup/disman/mteTriggerDeltaTable.c b/agent/mibgroup/disman/mteTriggerDeltaTable.c
index b5d2244..c829e6a 100644
--- a/agent/mibgroup/disman/mteTriggerDeltaTable.c
+++ b/agent/mibgroup/disman/mteTriggerDeltaTable.c
@@ -243,8 +243,8 @@
*/
tmpvar = StorageTmp->mteTriggerDeltaDiscontinuityID;
tmplen = StorageTmp->mteTriggerDeltaDiscontinuityIDLen;
- memdup((u_char **) & StorageTmp->mteTriggerDeltaDiscontinuityID,
- var_val, var_val_len);
+ StorageTmp->mteTriggerDeltaDiscontinuityID =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerDeltaDiscontinuityIDLen =
var_val_len / sizeof(oid);
break;
diff --git a/agent/mibgroup/disman/mteTriggerExistenceTable.c b/agent/mibgroup/disman/mteTriggerExistenceTable.c
index fdfdaf2..4e6b64b 100644
--- a/agent/mibgroup/disman/mteTriggerExistenceTable.c
+++ b/agent/mibgroup/disman/mteTriggerExistenceTable.c
@@ -293,8 +293,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceTest;
tmplen = StorageTmp->mteTriggerExistenceTestLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceTest, var_val,
- var_val_len);
+ StorageTmp->mteTriggerExistenceTest =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceTestLen = var_val_len;
break;
@@ -385,8 +385,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceStartup;
tmplen = StorageTmp->mteTriggerExistenceStartupLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceStartup,
- var_val, var_val_len);
+ StorageTmp->mteTriggerExistenceStartup =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceStartupLen = var_val_len;
break;
@@ -477,8 +477,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceObjectsOwner;
tmplen = StorageTmp->mteTriggerExistenceObjectsOwnerLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceObjectsOwner,
- var_val, var_val_len);
+ StorageTmp->mteTriggerExistenceObjectsOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceObjectsOwnerLen = var_val_len;
break;
@@ -569,8 +569,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceObjects;
tmplen = StorageTmp->mteTriggerExistenceObjectsLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceObjects,
- var_val, var_val_len);
+ StorageTmp->mteTriggerExistenceObjects =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceObjectsLen = var_val_len;
break;
@@ -661,8 +661,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceEventOwner;
tmplen = StorageTmp->mteTriggerExistenceEventOwnerLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceEventOwner,
- var_val, var_val_len);
+ StorageTmp->mteTriggerExistenceEventOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceEventOwnerLen = var_val_len;
break;
@@ -752,8 +752,8 @@
*/
tmpvar = StorageTmp->mteTriggerExistenceEvent;
tmplen = StorageTmp->mteTriggerExistenceEventLen;
- memdup((u_char **) & StorageTmp->mteTriggerExistenceEvent, var_val,
- var_val_len);
+ StorageTmp->mteTriggerExistenceEvent =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerExistenceEventLen = var_val_len;
break;
diff --git a/agent/mibgroup/disman/mteTriggerTable.c b/agent/mibgroup/disman/mteTriggerTable.c
index a2306f7..80a45a3 100644
--- a/agent/mibgroup/disman/mteTriggerTable.c
+++ b/agent/mibgroup/disman/mteTriggerTable.c
@@ -283,9 +283,8 @@
StorageNew->mteTriggerObjectsOwner = strdup("");
StorageNew->mteTriggerObjects = strdup("");
StorageNew->mteTriggerEnabled = MTETRIGGERENABLED_FALSE;
- memdup((unsigned char **)
- &(StorageNew->mteTriggerDeltaDiscontinuityID),
- (unsigned char *) sysUpTimeInstance, sizeof(sysUpTimeInstance));
+ StorageNew->mteTriggerDeltaDiscontinuityID =
+ netsnmp_memdup(sysUpTimeInstance, sizeof(sysUpTimeInstance));
StorageNew->mteTriggerDeltaDiscontinuityIDLen =
sizeof(sysUpTimeInstance) / sizeof(oid);
StorageNew->mteTriggerDeltaDiscontinuityIDWildcard = TV_FALSE;
@@ -1678,8 +1677,7 @@
*/
tmpvar = StorageTmp->mteTriggerComment;
tmplen = StorageTmp->mteTriggerCommentLen;
- memdup((u_char **) & StorageTmp->mteTriggerComment, var_val,
- var_val_len);
+ StorageTmp->mteTriggerComment = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerCommentLen = var_val_len;
break;
@@ -1766,8 +1764,7 @@
*/
tmpvar = StorageTmp->mteTriggerTest;
tmplen = StorageTmp->mteTriggerTestLen;
- memdup((u_char **) & StorageTmp->mteTriggerTest, var_val,
- var_val_len);
+ StorageTmp->mteTriggerTest = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerTestLen = var_val_len;
break;
@@ -1939,8 +1936,7 @@
*/
tmpvar = StorageTmp->mteTriggerValueID;
tmplen = StorageTmp->mteTriggerValueIDLen;
- memdup((u_char **) & StorageTmp->mteTriggerValueID, var_val,
- var_val_len);
+ StorageTmp->mteTriggerValueID = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerValueIDLen = var_val_len / sizeof(oid);
break;
@@ -2118,8 +2114,7 @@
*/
tmpvar = StorageTmp->mteTriggerTargetTag;
tmplen = StorageTmp->mteTriggerTargetTagLen;
- memdup((u_char **) & StorageTmp->mteTriggerTargetTag, var_val,
- var_val_len);
+ StorageTmp->mteTriggerTargetTag = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerTargetTagLen = var_val_len;
break;
@@ -2208,8 +2203,8 @@
*/
tmpvar = StorageTmp->mteTriggerContextName;
tmplen = StorageTmp->mteTriggerContextNameLen;
- memdup((u_char **) & StorageTmp->mteTriggerContextName, var_val,
- var_val_len);
+ StorageTmp->mteTriggerContextName =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerContextNameLen = var_val_len;
break;
@@ -2469,8 +2464,8 @@
*/
tmpvar = StorageTmp->mteTriggerObjectsOwner;
tmplen = StorageTmp->mteTriggerObjectsOwnerLen;
- memdup((u_char **) & StorageTmp->mteTriggerObjectsOwner, var_val,
- var_val_len);
+ StorageTmp->mteTriggerObjectsOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerObjectsOwnerLen = var_val_len;
break;
@@ -2559,8 +2554,7 @@
*/
tmpvar = StorageTmp->mteTriggerObjects;
tmplen = StorageTmp->mteTriggerObjectsLen;
- memdup((u_char **) & StorageTmp->mteTriggerObjects, var_val,
- var_val_len);
+ StorageTmp->mteTriggerObjects = netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerObjectsLen = var_val_len;
break;
@@ -3133,16 +3127,17 @@
pdu->securityLevel = item->pdu_securityLevel;
pdu->tDomain = item->pdu_tDomain;
pdu->tDomainLen = item->pdu_tDomainLen;
- memdup((u_char **) & pdu->transport_data, item->pdu_transport,
- item->pdu_transportLen);
+ pdu->transport_data = netsnmp_memdup(item->pdu_transport,
+ item->pdu_transportLen);
pdu->transport_data_length = item->pdu_transportLen;
- memdup(&pdu->community, item->pdu_community, item->pdu_community_len);
+ pdu->community = netsnmp_memdup(item->pdu_community,
+ item->pdu_community_len);
pdu->community_len = item->pdu_community_len;
- memdup((u_char **) & pdu->contextName, item->mteTriggerContextName,
- item->mteTriggerContextNameLen);
+ pdu->contextName = netsnmp_memdup(item->mteTriggerContextName,
+ item->mteTriggerContextNameLen);
pdu->contextNameLen = item->mteTriggerContextNameLen;
- memdup((u_char **) & pdu->securityName, item->pdu_securityName,
- item->pdu_securityNameLen);
+ pdu->securityName = netsnmp_memdup(item->pdu_securityName,
+ item->pdu_securityNameLen);
pdu->securityNameLen = item->pdu_securityNameLen;
DEBUGMSGTL(("mteTriggerTable",
"accessing locally with secName \"%s\" community \"%s\"\n",
@@ -3460,9 +3455,8 @@
*/
if (response->errstat == SNMPERR_SUCCESS &&
response->variables->val.integer)
- memdup((unsigned char **) &value,
- (unsigned char *) response->variables->val.integer,
- sizeof(*response->variables->val.integer));
+ value = netsnmp_memdup(response->variables->val.integer,
+ sizeof(*response->variables->val.integer));
else
value = NULL;
diff --git a/agent/mibgroup/disman/mteTriggerThresholdTable.c b/agent/mibgroup/disman/mteTriggerThresholdTable.c
index 93c02b2..be963c1 100644
--- a/agent/mibgroup/disman/mteTriggerThresholdTable.c
+++ b/agent/mibgroup/disman/mteTriggerThresholdTable.c
@@ -837,8 +837,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdObjectsOwner;
tmplen = StorageTmp->mteTriggerThresholdObjectsOwnerLen;
- memdup((u_char **) & StorageTmp->mteTriggerThresholdObjectsOwner,
- var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdObjectsOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdObjectsOwnerLen = var_val_len;
break;
@@ -929,8 +929,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdObjects;
tmplen = StorageTmp->mteTriggerThresholdObjectsLen;
- memdup((u_char **) & StorageTmp->mteTriggerThresholdObjects,
- var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdObjects =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdObjectsLen = var_val_len;
break;
@@ -1021,8 +1021,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdRisingEventOwner;
tmplen = StorageTmp->mteTriggerThresholdRisingEventOwnerLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdRisingEventOwner, var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdRisingEventOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdRisingEventOwnerLen = var_val_len;
break;
@@ -1113,8 +1113,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdRisingEvent;
tmplen = StorageTmp->mteTriggerThresholdRisingEventLen;
- memdup((u_char **) & StorageTmp->mteTriggerThresholdRisingEvent,
- var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdRisingEvent =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdRisingEventLen = var_val_len;
break;
@@ -1205,8 +1205,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdFallingEventOwner;
tmplen = StorageTmp->mteTriggerThresholdFallingEventOwnerLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdFallingEventOwner, var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdFallingEventOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdFallingEventOwnerLen = var_val_len;
break;
@@ -1297,8 +1297,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdFallingEvent;
tmplen = StorageTmp->mteTriggerThresholdFallingEventLen;
- memdup((u_char **) & StorageTmp->mteTriggerThresholdFallingEvent,
- var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdFallingEvent =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdFallingEventLen = var_val_len;
break;
@@ -1389,9 +1389,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdDeltaRisingEventOwner;
tmplen = StorageTmp->mteTriggerThresholdDeltaRisingEventOwnerLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdDeltaRisingEventOwner, var_val,
- var_val_len);
+ StorageTmp->mteTriggerThresholdDeltaRisingEventOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdDeltaRisingEventOwnerLen =
var_val_len;
break;
@@ -1483,8 +1482,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdDeltaRisingEvent;
tmplen = StorageTmp->mteTriggerThresholdDeltaRisingEventLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdDeltaRisingEvent, var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdDeltaRisingEvent =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdDeltaRisingEventLen = var_val_len;
break;
@@ -1576,9 +1575,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdDeltaFallingEventOwner;
tmplen = StorageTmp->mteTriggerThresholdDeltaFallingEventOwnerLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdDeltaFallingEventOwner, var_val,
- var_val_len);
+ StorageTmp->mteTriggerThresholdDeltaFallingEventOwner =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdDeltaFallingEventOwnerLen =
var_val_len;
break;
@@ -1670,8 +1668,8 @@
*/
tmpvar = StorageTmp->mteTriggerThresholdDeltaFallingEvent;
tmplen = StorageTmp->mteTriggerThresholdDeltaFallingEventLen;
- memdup((u_char **) & StorageTmp->
- mteTriggerThresholdDeltaFallingEvent, var_val, var_val_len);
+ StorageTmp->mteTriggerThresholdDeltaFallingEvent =
+ netsnmp_memdup(var_val, var_val_len);
StorageTmp->mteTriggerThresholdDeltaFallingEventLen = var_val_len;
break;
diff --git a/agent/mibgroup/disman/ping/pingCtlTable.c b/agent/mibgroup/disman/ping/pingCtlTable.c
index b9add8f..87b09ef 100644
--- a/agent/mibgroup/disman/ping/pingCtlTable.c
+++ b/agent/mibgroup/disman/ping/pingCtlTable.c
@@ -1453,9 +1453,10 @@
StorageNew->pingResultsLastGoodProbe_time = timep;
free(StorageNew->pingResultsLastGoodProbe);
- memdup(&StorageNew->pingResultsLastGoodProbe,
- date_n_time(&timep,
- &StorageNew->pingResultsLastGoodProbeLen), 11);
+ StorageNew->pingResultsLastGoodProbe =
+ netsnmp_memdup(date_n_time(&timep,
+ &StorageNew->pingResultsLastGoodProbeLen),
+ 11);
temp = SNMP_MALLOC_STRUCT(pingProbeHistoryTable_data);
@@ -1489,8 +1490,10 @@
temp->pingProbeHistoryLastRC = 0;
temp->pingProbeHistoryTime_time = timep;
- memdup(&temp->pingProbeHistoryTime,
- date_n_time(&timep, &temp->pingProbeHistoryTimeLen), 11);
+ temp->pingProbeHistoryTime =
+ netsnmp_memdup(date_n_time(&timep,
+ &temp->pingProbeHistoryTimeLen),
+ 11);
if (StorageNew->pingResultsSendProbes == 1)
item->pingProbeHis = temp;
@@ -1568,8 +1571,9 @@
temp->pingProbeHistoryLastRC = 1;
temp->pingProbeHistoryTime_time = timep;
- memdup(&temp->pingProbeHistoryTime,
- date_n_time(&timep, &temp->pingProbeHistoryTimeLen), 11);
+ temp->pingProbeHistoryTime =
+ netsnmp_memdup(date_n_time(&timep, &temp->pingProbeHistoryTimeLen),
+ 11);
if (StorageNew->pingResultsSendProbes == 1)
item->pingProbeHis = temp;
@@ -5027,8 +5031,10 @@
temp->pingProbeHistoryLastRC = 1;
temp->pingProbeHistoryTime_time = timep;
- memdup(&temp->pingProbeHistoryTime,
- date_n_time(&timep, &temp->pingProbeHistoryTimeLen), 11);
+ temp->pingProbeHistoryTime =
+ netsnmp_memdup(date_n_time(&timep,
+ &temp->pingProbeHistoryTimeLen),
+ 11);
if (StorageNew->pingResultsSendProbes == 1)
item->pingProbeHis = temp;
@@ -5320,8 +5326,10 @@
StorageNew->pingResultsLastGoodProbe_time = timep;
free(StorageNew->pingResultsLastGoodProbe);
- memdup(&StorageNew->pingResultsLastGoodProbe,
- date_n_time(&timep, &StorageNew->pingResultsLastGoodProbeLen), 11);
+ StorageNew->pingResultsLastGoodProbe =
+ netsnmp_memdup(date_n_time(&timep,
+ &StorageNew->pingResultsLastGoodProbeLen),
+ 11);
/* ProbeHistory */
if (item->pingCtlMaxRows != 0) {
@@ -5356,8 +5364,9 @@
temp->pingProbeHistoryLastRC = 0;
temp->pingProbeHistoryTime_time = timep;
- memdup(&temp->pingProbeHistoryTime,
- date_n_time(&timep, &temp->pingProbeHistoryTimeLen), 11);
+ temp->pingProbeHistoryTime =
+ netsnmp_memdup(date_n_time(&timep, &temp->pingProbeHistoryTimeLen),
+ 11);
if (StorageNew->pingResultsSendProbes == 1)
item->pingProbeHis = temp;
diff --git a/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c b/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c
index 04143eb..b925c5e 100644
--- a/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c
+++ b/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c
@@ -4480,7 +4480,7 @@
if (old_HopsAddress[k] == NULL) {
exit(1);
}
- memdup((u_char **) & old_HopsAddress[k],
+ old_HopsAddress[k] = netsnmp_memdup(
StorageTmp->traceRouteHopsIpTgtAddress,
StorageTmp->
traceRouteHopsIpTgtAddressLen + 1);
@@ -4767,9 +4767,10 @@
temp_his->traceRouteProbeHistoryLastRC = 0;
temp_his->traceRouteProbeHistoryTime_time = timep;
- memdup(&temp_his->traceRouteProbeHistoryTime,
- date_n_time(&timep,
- &temp_his->traceRouteProbeHistoryTimeLen), 11);
+ temp_his->traceRouteProbeHistoryTime =
+ netsnmp_memdup(date_n_time(&timep,
+ &temp_his->traceRouteProbeHistoryTimeLen),
+ 11);
if (probe == 0)
item->traceRouteProbeHis = temp_his;
else {
@@ -4843,9 +4844,10 @@
current->traceRouteHopsSentProbes = probe + 1;
current->traceRouteHopsProbeResponses = responseProbe;
current->traceRouteHopsLastGoodProbe_time = timep;
- memdup(¤t->traceRouteHopsLastGoodProbe,
- date_n_time(&timep,
- ¤t->traceRouteHopsLastGoodProbeLen), 11);
+ current->traceRouteHopsLastGoodProbe =
+ netsnmp_memdup(date_n_time(&timep,
+ ¤t->traceRouteHopsLastGoodProbeLen),
+ 11);
}
(void) fflush(stdout);
@@ -4864,9 +4866,11 @@
StorageResults->traceRouteResultsTestSuccesses + 1;
StorageResults->traceRouteResultsLastGoodPath_time = timep;
- memdup(&StorageResults->traceRouteResultsLastGoodPath,
- date_n_time(&timep,
- &StorageResults->traceRouteResultsLastGoodPathLen), 11);
+ StorageResults->traceRouteResultsLastGoodPath =
+ netsnmp_memdup(date_n_time(&timep,
+ &StorageResults->
+ traceRouteResultsLastGoodPathLen),
+ 11);
if ((item->
traceRouteCtlTrapGeneration[0] &
TRACEROUTETRAPGENERATION_TESTCOMPLETED) != 0) {
@@ -5164,7 +5168,7 @@
if (old_HopsAddress[k] == NULL) {
exit(1);
}
- memdup((u_char **) & old_HopsAddress[k],
+ old_HopsAddress[k] = netsnmp_memdup(
StorageTmp->traceRouteHopsIpTgtAddress,
StorageTmp->
traceRouteHopsIpTgtAddressLen + 1);
@@ -5401,7 +5405,7 @@
temp_his->traceRouteProbeHistoryLastRC = 0;
temp_his->traceRouteProbeHistoryTime_time = timep;
- memdup(&temp_his->traceRouteProbeHistoryTime,
+ temp_his->traceRouteProbeHistoryTime = netsnmp_memdup(
date_n_time(&timep,
&temp_his->traceRouteProbeHistoryTimeLen), 11);
@@ -5477,8 +5481,8 @@
current->traceRouteHopsSentProbes = probe + 1;
current->traceRouteHopsProbeResponses = responseProbe;
current->traceRouteHopsLastGoodProbe_time = timep;
- memdup(¤t->traceRouteHopsLastGoodProbe,
- date_n_time(&timep,
+ current->traceRouteHopsLastGoodProbe =
+ netsnmp_memdup(date_n_time(&timep,
¤t->traceRouteHopsLastGoodProbeLen), 11);
snmp_free_varbind(vars_hops);
@@ -5501,9 +5505,11 @@
StorageResults->traceRouteResultsTestSuccesses =
StorageResults->traceRouteResultsTestSuccesses + 1;
StorageResults->traceRouteResultsLastGoodPath_time = timep;
- memdup(&StorageResults->traceRouteResultsLastGoodPath,
- date_n_time(&timep,
- &StorageResults->traceRouteResultsLastGoodPathLen), 11);
+ StorageResults->traceRouteResultsLastGoodPath =
+ netsnmp_memdup(date_n_time(&timep,
+ &StorageResults->
+ traceRouteResultsLastGoodPathLen),
+ 11);
if ((item->
traceRouteCtlTrapGeneration[0] &
TRACEROUTETRAPGENERATION_TESTCOMPLETED) != 0) {
diff --git a/agent/mibgroup/examples/delayed_instance.c b/agent/mibgroup/examples/delayed_instance.c
index ea59502..5d54569 100644
--- a/agent/mibgroup/examples/delayed_instance.c
+++ b/agent/mibgroup/examples/delayed_instance.c
@@ -195,8 +195,7 @@
/*
* store old value for UNDO support in the future.
*/
- memdup((u_char **) & delay_time_cache,
- (u_char *) & delay_time, sizeof(delay_time));
+ delay_time_cache = netsnmp_memdup(&delay_time, sizeof(delay_time));
/*
* malloc failed
diff --git a/agent/mibgroup/examples/netSnmpHostsTable.c b/agent/mibgroup/examples/netSnmpHostsTable.c
index f2aa0c7..8ea2d03 100644
--- a/agent/mibgroup/examples/netSnmpHostsTable.c
+++ b/agent/mibgroup/examples/netSnmpHostsTable.c
@@ -259,8 +259,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
}
/** check the new value, possibly against the
@@ -298,8 +297,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
}
/** check the new value, possibly against the
@@ -336,8 +334,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
}
/** check the new value, possibly against the
@@ -374,8 +371,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
}
/** check the new value, possibly against the
diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
index 6828ab2..23b50d0 100644
--- a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
+++ b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
@@ -1828,7 +1828,7 @@
register_config_handler(NULL, row_token,
_ifXTable_container_row_restore, NULL, NULL);
netsnmp_assert(container);
- memdup((u_char **)&container_p, &container, sizeof(container));
+ container_p = netsnmp_memdup(&container, sizeof(container));
netsnmp_assert(container_p);
rc = snmp_register_callback(SNMP_CALLBACK_LIBRARY,
SNMP_CALLBACK_STORE_DATA,
diff --git a/agent/mibgroup/ip-mib/ip_scalars.c b/agent/mibgroup/ip-mib/ip_scalars.c
index c8cc88a..9096269 100644
--- a/agent/mibgroup/ip-mib/ip_scalars.c
+++ b/agent/mibgroup/ip-mib/ip_scalars.c
@@ -141,8 +141,7 @@
SNMP_ERR_NOCREATION);
} else {
u_long *value_save;
- memdup((u_char **) & value_save, (u_char *) &value,
- sizeof(value));
+ value_save = netsnmp_memdup(&value, sizeof(value));
if ( NULL == value_save )
netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_RESOURCEUNAVAILABLE);
else
@@ -241,8 +240,7 @@
SNMP_ERR_NOCREATION);
} else {
u_long *value_save;
- memdup((u_char **) & value_save, (u_char *) &value,
- sizeof(value));
+ value_save = netsnmp_memdup(&value, sizeof(value));
if ( NULL == value_save )
netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_RESOURCEUNAVAILABLE);
else
@@ -346,8 +344,8 @@
}
else {
u_long *value_save;
- memdup((u_char **) & value_save, (u_char *) &value,
- sizeof(value));
+
+ value_save = netsnmp_memdup(&value, sizeof(value));
if ( NULL == value_save ) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
diff --git a/agent/mibgroup/mibII/ipCidrRouteTable.c b/agent/mibgroup/mibII/ipCidrRouteTable.c
index c9ad6e7..8609bb0 100644
--- a/agent/mibgroup/mibII/ipCidrRouteTable.c
+++ b/agent/mibgroup/mibII/ipCidrRouteTable.c
@@ -655,8 +655,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -672,8 +671,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -689,8 +687,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -707,8 +704,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -724,8 +720,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -741,8 +736,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -758,8 +752,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -775,8 +768,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -792,8 +784,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
@@ -809,8 +800,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) & ui->ptr,
- (u_char *) retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
netsnmp_oid_stash_add_data(&undoStorage,
suffix, suffix_len, ui);
}
diff --git a/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c b/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c
index b12cdc8..e9b11d3 100644
--- a/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c
+++ b/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c
@@ -664,8 +664,8 @@
SNMP_MALLOC_STRUCT(snmpNotifyFilterProfileTable_data);
if (StorageNew == NULL)
return SNMP_ERR_GENERR;
- memdup((u_char **) & (StorageNew->snmpTargetParamsName),
- vars->val.string, vars->val_len);
+ StorageNew->snmpTargetParamsName =
+ netsnmp_memdup(vars->val.string, vars->val_len);
StorageNew->snmpTargetParamsNameLen = vars->val_len;
StorageNew->snmpNotifyFilterProfileStorType = ST_NONVOLATILE;
diff --git a/agent/mibgroup/notification/snmpNotifyTable.c b/agent/mibgroup/notification/snmpNotifyTable.c
index 5c369d7..91adb2f 100644
--- a/agent/mibgroup/notification/snmpNotifyTable.c
+++ b/agent/mibgroup/notification/snmpNotifyTable.c
@@ -326,7 +326,7 @@
return 0;
}
ptr = snmpTargetAddrTable_create();
- memdup((u_char**)&ptr->nameData, buf, bufLen);
+ ptr->nameData = netsnmp_memdup(buf, bufLen);
ptr->nameLen = bufLen;
memcpy(ptr->tDomain, t->domain, t->domain_length * sizeof(oid));
ptr->tDomainLen = t->domain_length;
diff --git a/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c b/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
index ed3beaa..4040e3f 100644
--- a/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
+++ b/agent/mibgroup/snmp-notification-mib/snmpNotifyFilterTable/snmpNotifyFilterTable_interface.c
@@ -2044,7 +2044,7 @@
register_config_handler(NULL, row_token,
_snmpNotifyFilterTable_container_row_restore,
NULL, NULL);
- memdup((u_char **)&container_p, &container, sizeof(container));
+ container_p = netsnmp_memdup(&container, sizeof(container));
netsnmp_assert(container_p);
rc = snmp_register_callback(SNMP_CALLBACK_LIBRARY,
SNMP_CALLBACK_STORE_DATA,
diff --git a/agent/mibgroup/snmp-usm-dh-objects-mib/usmDHUserKeyTable/usmDHUserKeyTable_data_set.c b/agent/mibgroup/snmp-usm-dh-objects-mib/usmDHUserKeyTable/usmDHUserKeyTable_data_set.c
index 8536105..567d20e 100644
--- a/agent/mibgroup/snmp-usm-dh-objects-mib/usmDHUserKeyTable/usmDHUserKeyTable_data_set.c
+++ b/agent/mibgroup/snmp-usm-dh-objects-mib/usmDHUserKeyTable/usmDHUserKeyTable_data_set.c
@@ -100,7 +100,7 @@
* copy right most bits, per the object requirements
*/
SNMP_FREE(*replkey);
- memdup(replkey, key + key_len - replkey_size, replkey_size);
+ *replkey = netsnmp_memdup(key + key_len - replkey_size, replkey_size);
return MFD_SUCCESS;
}
@@ -585,8 +585,8 @@
undouser = rowreq_ctx->undo;
undouser->authKeyLen = rowreq_ctx->data->authKeyLen;
- memdup(&undouser->authKey, rowreq_ctx->data->authKey,
- rowreq_ctx->data->authKeyLen);
+ undouser->authKey = netsnmp_memdup(rowreq_ctx->data->authKey,
+ rowreq_ctx->data->authKeyLen);
return MFD_SUCCESS;
} /* usmDHUserAuthKeyChange_undo_setup */
@@ -970,8 +970,8 @@
undouser = rowreq_ctx->undo;
undouser->privKeyLen = rowreq_ctx->data->privKeyLen;
- memdup(&undouser->privKey, rowreq_ctx->data->privKey,
- rowreq_ctx->data->privKeyLen);
+ undouser->privKey = netsnmp_memdup(rowreq_ctx->data->privKey,
+ rowreq_ctx->data->privKeyLen);
return MFD_SUCCESS;
} /* usmDHUserPrivKeyChange_undo_setup */
diff --git a/agent/mibgroup/snmpv3/usmUser.c b/agent/mibgroup/snmpv3/usmUser.c
index 41c525a..9f0503d 100644
--- a/agent/mibgroup/snmpv3/usmUser.c
+++ b/agent/mibgroup/snmpv3/usmUser.c
@@ -901,7 +901,7 @@
resetOnFail = 1;
oldkey = uptr->authKey;
oldkeylen = uptr->authKeyLen;
- memdup(&uptr->authKey, buf, buflen);
+ uptr->authKey = netsnmp_memdup(buf, buflen);
if (uptr->authKey == NULL) {
return SNMP_ERR_RESOURCEUNAVAILABLE;
}
@@ -1149,7 +1149,7 @@
resetOnFail = 1;
oldkey = uptr->privKey;
oldkeylen = uptr->privKeyLen;
- memdup(&uptr->privKey, buf, buflen);
+ uptr->privKey = netsnmp_memdup(buf, buflen);
if (uptr->privKey == NULL) {
return SNMP_ERR_RESOURCEUNAVAILABLE;
}
diff --git a/agent/mibgroup/testhandler.c b/agent/mibgroup/testhandler.c
index 8951319..f7468f0 100644
--- a/agent/mibgroup/testhandler.c
+++ b/agent/mibgroup/testhandler.c
@@ -346,8 +346,7 @@
/*
* store old info for undo later
*/
- memdup((u_char **) & accesses_cache,
- (u_char *) & accesses, sizeof(accesses));
+ accesses_cache = netsnmp_memdup(&accesses, sizeof(accesses));
if (accesses_cache == NULL) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
diff --git a/agent/mibgroup/utilities/iquery.c b/agent/mibgroup/utilities/iquery.c
index e2aea74..860590f 100644
--- a/agent/mibgroup/utilities/iquery.c
+++ b/agent/mibgroup/utilities/iquery.c
@@ -85,7 +85,7 @@
if ( s && s->securityEngineIDLen == 0 ) {
elen = snmpv3_get_engineID(eID, sizeof(eID));
- memdup( &(s->securityEngineID), eID, elen );
+ s->securityEngineID = netsnmp_memdup(eID, elen);
s->securityEngineIDLen = elen;
}
return SNMPERR_SUCCESS;
@@ -189,13 +189,13 @@
ss->version = version;
ss->securityModel = secModel;
ss->securityLevel = secLevel;
- memdup( &(ss->securityEngineID), engineID, engIDLen );
+ ss->securityEngineID = netsnmp_memdup(engineID, engIDLen);
ss->securityEngineIDLen = engIDLen;
if ( version == SNMP_VERSION_3 ) {
ss->securityNameLen = strlen(secName);
- memdup((u_char**)&(ss->securityName), (u_char*)secName, ss->securityNameLen);
+ ss->securityName = netsnmp_memdup(secName, ss->securityNameLen);
} else {
- memdup( &(ss->community), secName, strlen(secName));
+ ss->community = netsnmp_memdup(secName, strlen(secName));
ss->community_len = strlen(secName);
}
ss->myvoid = netsnmp_check_outstanding_agent_requests;
diff --git a/agent/mibgroup/utilities/override.c b/agent/mibgroup/utilities/override.c
index 2b083a9..48ac281 100644
--- a/agent/mibgroup/utilities/override.c
+++ b/agent/mibgroup/utilities/override.c
@@ -57,9 +57,9 @@
break;
case MODE_SET_RESERVE2:
- if (memdup((u_char **) &data->set_space,
- requests->requestvb->val.string,
- requests->requestvb->val_len) == SNMPERR_GENERR)
+ data->set_space = netsnmp_memdup(requests->requestvb->val.string,
+ requests->requestvb->val_len);
+ if (!data->set_space)
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
break;
diff --git a/apps/snmptrapd_sql.c b/apps/snmptrapd_sql.c
index 90d8e04..671e542 100644
--- a/apps/snmptrapd_sql.c
+++ b/apps/snmptrapd_sql.c
@@ -882,7 +882,7 @@
&buf_val_len_t, 1, var, 0, 0, 0);
sqlvb->val_len = buf_val_len_t;
#else
- memdup(&sqlvb->val, var->val.string, var->val_len);
+ sqlvb->val = netsnmp_memdup(var->val.string, var->val_len);
sqlvb->val_len = var->val_len;
#endif
diff --git a/include/net-snmp/library/tools.h b/include/net-snmp/library/tools.h
index bd3b0b8..2634b34 100644
--- a/include/net-snmp/library/tools.h
+++ b/include/net-snmp/library/tools.h
@@ -207,7 +207,7 @@
u_char *malloc_random(size_t * size);
u_char *malloc_zero(size_t size);
NETSNMP_IMPORT
- int memdup(u_char ** to, const void * from, size_t size);
+ void *netsnmp_memdup(const void * from, size_t size);
void netsnmp_check_definedness(const void *packet,
size_t length);
diff --git a/local/mib2c.iterate_access.conf b/local/mib2c.iterate_access.conf
index c211fd3..a38ac20 100644
--- a/local/mib2c.iterate_access.conf
+++ b/local/mib2c.iterate_access.conf
@@ -292,8 +292,7 @@
if (retval) {
ui = SNMP_MALLOC_STRUCT(undoInfo);
ui->len = retval_len;
- memdup((u_char **) &ui->ptr,
- retval, ui->len);
+ ui->ptr = netsnmp_memdup(retval, ui->len);
}
/** check the new value, possibly against the
diff --git a/perl/SNMP/SNMP.xs b/perl/SNMP/SNMP.xs
index 250a0b0..437cecd 100644
--- a/perl/SNMP/SNMP.xs
+++ b/perl/SNMP/SNMP.xs
@@ -2689,9 +2689,9 @@
}
if (session.securityLevel >= SNMP_SEC_LEVEL_AUTHNOPRIV) {
if (auth_localized_key_len) {
- memdup(&session.securityAuthLocalKey,
- (u_char*)auth_localized_key,
- auth_localized_key_len);
+ session.securityAuthLocalKey =
+ netsnmp_memdup(auth_localized_key,
+ auth_localized_key_len);
session.securityAuthLocalKeyLen = auth_localized_key_len;
} else if (auth_master_key_len) {
session.securityAuthKeyLen =
@@ -2739,9 +2739,9 @@
}
if (session.securityLevel >= SNMP_SEC_LEVEL_AUTHPRIV) {
if (priv_localized_key_len) {
- memdup(&session.securityPrivLocalKey,
- (u_char*)priv_localized_key,
- priv_localized_key_len);
+ session.securityPrivLocalKey =
+ netsnmp_memdup(priv_localized_key,
+ priv_localized_key_len);
session.securityPrivLocalKeyLen = priv_localized_key_len;
} else if (priv_master_key_len) {
session.securityPrivKeyLen =
diff --git a/python/netsnmp/client_intf.c b/python/netsnmp/client_intf.c
index 512f999..8b8805d 100644
--- a/python/netsnmp/client_intf.c
+++ b/python/netsnmp/client_intf.c
@@ -833,7 +833,7 @@
ret = FAILURE;
addr = 0;
}
- memdup((u_char **)&vars->val.integer, &addr, sizeof(addr));
+ vars->val.integer = netsnmp_memdup(&addr, sizeof(addr));
vars->val_len = sizeof(addr);
}
break;
diff --git a/snmplib/md5.c b/snmplib/md5.c
index fbfd43f..1ce0727 100644
--- a/snmplib/md5.c
+++ b/snmplib/md5.c
@@ -469,7 +469,7 @@
* this relies on the ability to use integer math and thus we
* must rely on data that aligns on 32-bit-word-boundries
*/
- memdup(&newdata, data, len);
+ newdata = netsnmp_memdup(data, len);
cp = newdata;
} else {
cp = data;
diff --git a/snmplib/scapi.c b/snmplib/scapi.c
index dcb7af1..16ac829 100644
--- a/snmplib/scapi.c
+++ b/snmplib/scapi.c
@@ -1215,7 +1215,7 @@
* this relies on the ability to use integer math and thus we
* must rely on data that aligns on 32-bit-word-boundries
*/
- memdup(&newdata, data, len);
+ newdata = netsnmp_memdup(data, len);
cp = newdata;
} else {
cp = data;
@@ -1313,7 +1313,7 @@
* this relies on the ability to use integer math and thus we
* must rely on data that aligns on 32-bit-word-boundries
*/
- memdup(&newdata, data, len);
+ newdata = netsnmp_memdup(data, len);
cp = newdata;
} else {
cp = data;
diff --git a/snmplib/snmp_api.c b/snmplib/snmp_api.c
index ba5ba83..a713399 100644
--- a/snmplib/snmp_api.c
+++ b/snmplib/snmp_api.c
@@ -1282,8 +1282,8 @@
}
pdu->securityLevel = SNMP_SEC_LEVEL_NOAUTH;
pdu->securityModel = session->securityModel;
- if (memdup(&pdu->contextEngineID, probeEngineID, probeEngineID_len) !=
- SNMPERR_SUCCESS) {
+ pdu->contextEngineID = netsnmp_memdup(probeEngineID, probeEngineID_len);
+ if (!pdu->contextEngineID) {
snmp_log(LOG_ERR, "failed to clone memory for rfc5343 probe\n");
snmp_free_pdu(pdu);
return SNMP_ERR_GENERR;
@@ -1310,18 +1310,20 @@
ASN_OCTET_STR == response->variables->type &&
NULL != response->variables->val.string &&
response->variables->val_len > 0) {
- if (memdup(&session->contextEngineID,
- response->variables->val.string,
- response->variables->val_len) != SNMPERR_SUCCESS) {
+ session->contextEngineID =
+ netsnmp_memdup(response->variables->val.string,
+ response->variables->val_len);
+ if (!session->contextEngineID) {
snmp_log(LOG_ERR, "failed rfc5343 contextEngineID probing: memory allocation failed\n");
return SNMP_ERR_GENERR;
}
/* technically there likely isn't a securityEngineID but just
in case anyone goes looking we might as well have one */
- if (memdup(&session->securityEngineID,
- response->variables->val.string,
- response->variables->val_len) != SNMPERR_SUCCESS) {
+ session->securityEngineID =
+ netsnmp_memdup(response->variables->val.string,
+ response->variables->val_len);
+ if (!session->securityEngineID) {
snmp_log(LOG_ERR, "failed rfc5343 securityEngineID probing: memory allocation failed\n");
return SNMP_ERR_GENERR;
}
diff --git a/snmplib/snmpksm.c b/snmplib/snmpksm.c
index 4c77465..7d30612 100644
--- a/snmplib/snmpksm.c
+++ b/snmplib/snmpksm.c
@@ -279,22 +279,18 @@
{
struct ksm_cache_entry *entry;
int bucket;
- int retval;
entry = SNMP_MALLOC_STRUCT(ksm_cache_entry);
-
if (!entry)
return SNMPERR_MALLOC;
entry->msgid = msgid;
entry->auth_context = auth_context;
entry->refcount = 1;
-
- retval = memdup(&entry->secName, secName, secNameLen);
-
- if (retval != SNMPERR_SUCCESS) {
+ entry->secName = netsnmp_memdup(secName, secNameLen);
+ if (secName && !entry->secName) {
free(entry);
- return retval;
+ return SNMPERR_GENERR;
}
entry->secNameLen = secNameLen;
diff --git a/snmplib/snmptsm.c b/snmplib/snmptsm.c
index bf4b612..42de682 100644
--- a/snmplib/snmptsm.c
+++ b/snmplib/snmptsm.c
@@ -151,8 +151,8 @@
which was already copied by snmp_clone_pdu before handing it to
us. */
- memdup((u_char **) &newref->tmStateRef, oldref->tmStateRef,
- sizeof(*oldref->tmStateRef));
+ newref->tmStateRef = netsnmp_memdup(oldref->tmStateRef,
+ sizeof(*oldref->tmStateRef));
return SNMPERR_SUCCESS;
}
@@ -367,11 +367,9 @@
}
/* put the transport state reference into the PDU for the transport */
- if (SNMPERR_SUCCESS !=
- memdup((u_char **) &parms->pdu->transport_data,
- tmStateRef, sizeof(*tmStateRef))) {
+ parms->pdu->transport_data = netsnmp_memdup(tmStateRef, sizeof(*tmStateRef));
+ if (!parms->pdu->transport_data)
snmp_log(LOG_ERR, "tsm: malloc failure\n");
- }
parms->pdu->transport_data_length = sizeof(*tmStateRef);
if (tmStateRefLocal)
diff --git a/snmplib/snmpusm.c b/snmplib/snmpusm.c
index d8d8932..6a9cec3 100644
--- a/snmplib/snmpusm.c
+++ b/snmplib/snmpusm.c
@@ -2922,8 +2922,9 @@
/*
* copy in the engineID
*/
- if (memdup(&user->engineID, session->securityEngineID,
- session->securityEngineIDLen) != SNMPERR_SUCCESS) {
+ user->engineID = netsnmp_memdup(session->securityEngineID,
+ session->securityEngineIDLen);
+ if (session->securityEngineID && !user->engineID) {
usm_free_user(user);
return SNMPERR_GENERR;
}
@@ -2970,8 +2971,9 @@
&& session->securityAuthLocalKeyLen != 0) {
/* already localized key passed in. use it */
SNMP_FREE(user->authKey);
- if (memdup(&user->authKey, session->securityAuthLocalKey,
- session->securityAuthLocalKeyLen) != SNMPERR_SUCCESS) {
+ user->authKey = netsnmp_memdup(session->securityAuthLocalKey,
+ session->securityAuthLocalKeyLen);
+ if (!user->authKey) {
usm_free_user(user);
return SNMPERR_GENERR;
}
@@ -3017,8 +3019,9 @@
&& session->securityPrivLocalKeyLen != 0) {
/* already localized key passed in. use it */
SNMP_FREE(user->privKey);
- if (memdup(&user->privKey, session->securityPrivLocalKey,
- session->securityPrivLocalKeyLen) != SNMPERR_SUCCESS) {
+ user->privKey = netsnmp_memdup(session->securityPrivLocalKey,
+ session->securityPrivLocalKeyLen);
+ if (!user->privKey) {
usm_free_user(user);
return SNMPERR_GENERR;
}
@@ -4512,7 +4515,8 @@
/*
* assume the same as the authentication key
*/
- memdup(&newuser->privKey, newuser->authKey, newuser->authKeyLen);
+ newuser->privKey = netsnmp_memdup(newuser->authKey,
+ newuser->authKeyLen);
newuser->privKeyLen = newuser->authKeyLen;
} else {
cp = copy_nword(cp, buf, sizeof(buf));
diff --git a/snmplib/tools.c b/snmplib/tools.c
index 9bcb688..29e5fef 100644
--- a/snmplib/tools.c
+++ b/snmplib/tools.c
@@ -263,31 +263,26 @@
} /* end malloc_random() */
#endif /* NETSNMP_FEATURE_REMOVE_USM_SCAPI */
-/** Duplicates a memory block.
- * Copies a existing memory location from a pointer to another, newly
- malloced, pointer.
-
- * @param to Pointer to allocate and copy memory to.
- * @param from Pointer to copy memory from.
- * @param size Size of the data to be copied.
+/**
+ * Duplicates a memory block.
+ *
+ * @param[in] from Pointer to copy memory from.
+ * @param[in] size Size of the data to be copied.
*
- * @return SNMPERR_SUCCESS on success, SNMPERR_GENERR on failure.
+ * @return Pointer to the duplicated memory block, or NULL if memory allocation
+ * failed.
*/
-int
-memdup(u_char ** to, const void * from, size_t size)
+void *netsnmp_memdup(const void *from, size_t size)
{
- if (to == NULL)
- return SNMPERR_GENERR;
- if (from == NULL) {
- *to = NULL;
- return SNMPERR_SUCCESS;
- }
- if ((*to = (u_char *) malloc(size)) == NULL)
- return SNMPERR_GENERR;
- memcpy(*to, from, size);
- return SNMPERR_SUCCESS;
+ void *to = NULL;
-} /* end memdup() */
+ if (from) {
+ to = malloc(size);
+ if (to)
+ memcpy(to, from, size);
+ }
+ return to;
+} /* end netsnmp_memdup() */
#ifndef NETSNMP_FEATURE_REMOVE_NETSNMP_CHECK_DEFINEDNESS
/**
diff --git a/snmplib/transports/snmpDTLSUDPDomain.c b/snmplib/transports/snmpDTLSUDPDomain.c
index 9c56d19..b7dc767 100644
--- a/snmplib/transports/snmpDTLSUDPDomain.c
+++ b/snmplib/transports/snmpDTLSUDPDomain.c
@@ -588,8 +588,8 @@
buf, size);
cachep->write_cache_len = newsize;
} else {
- if (SNMPERR_SUCCESS !=
- memdup((u_char **) &cachep->write_cache, buf, size)) {
+ cachep->write_cache = netsnmp_memdup(buf, size);
+ if (!cachep->write_cache) {
/* ack! malloc failure */
/* XXX: free and close */
return SNMPERR_GENERR;
diff --git a/snmplib/transports/snmpTLSTCPDomain.c b/snmplib/transports/snmpTLSTCPDomain.c
index a92091e..473d02c 100644
--- a/snmplib/transports/snmpTLSTCPDomain.c
+++ b/snmplib/transports/snmpTLSTCPDomain.c
@@ -134,8 +134,8 @@
if (oldtlsdata->trust_cert)
newtlsdata->trust_cert = strdup(oldtlsdata->trust_cert);
if (oldtlsdata->addr)
- memdup((u_char**)&newtlsdata->addr, oldtlsdata->addr,
- sizeof(*oldtlsdata->addr));
+ newtlsdata->addr = netsnmp_memdup(oldtlsdata->addr,
+ sizeof(*oldtlsdata->addr));
return 0;
}