Merge branch 'V5-5-patches' into V5-6-patches
* V5-5-patches:
CHANGES: snmplib: Rename memdup() into netsnmp_memdup()
Conflicts:
agent/helpers/old_api.c
agent/helpers/table_dataset.c
include/net-snmp/library/tools.h
man/netsnmp_util.3
snmplib/snmptsm.c
snmplib/snmpusm.c
win32/libsnmp_dll/libsnmp.def
diff --git a/agent/agent_trap.c b/agent/agent_trap.c
index 4c7a4d9..f5dbcca 100644
--- a/agent/agent_trap.c
+++ b/agent/agent_trap.c
@@ -929,7 +929,7 @@
u_char tmp[SPRINT_MAX_LEN];
len = snmpv3_get_engineID(tmp, sizeof(tmp));
- memdup(&pdu->securityEngineID, tmp, len);
+ pdu->securityEngineID = netsnmp_memdup(tmp, len);
pdu->securityEngineIDLen = len;
}
@@ -1258,7 +1258,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 658a96a..2d07b69 100644
--- a/agent/helpers/instance.c
+++ b/agent/helpers/instance.c
@@ -533,7 +533,7 @@
/*
* store old info for undo later
*/
- 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);
@@ -652,7 +652,7 @@
/*
* store old info for undo later
*/
- memdup((u_char **) & it_save, (u_char *) it, sizeof(long));
+ it_save = netsnmp_memdup(it, sizeof(long));
if (it_save == NULL) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
@@ -735,7 +735,7 @@
/*
* store old info for undo later
*/
- memdup((u_char **) & it_save, (u_char *) it, sizeof(int));
+ it_save = netsnmp_memdup(it, sizeof(int));
if (it_save == NULL) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
@@ -851,7 +851,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);
@@ -951,7 +951,7 @@
/*
* store old info for undo later
*/
- memdup((u_char **) & it_save, (u_char *) it, sizeof(u_int));
+ it_save = netsnmp_memdup(it, sizeof(u_int));
if (it_save == NULL) {
netsnmp_set_request_error(reqinfo, requests,
SNMP_ERR_RESOURCEUNAVAILABLE);
diff --git a/agent/helpers/old_api.c b/agent/helpers/old_api.c
index a42e904..fdc8bd6 100644
--- a/agent/helpers/old_api.c
+++ b/agent/helpers/old_api.c
@@ -80,9 +80,9 @@
if (reginfo == NULL)
return SNMP_ERR_GENERR;
- memdup((u_char **) &vp,
- (void *) (struct variable *) ((char *) var + varsize * i),
- varsize);
+ vp = netsnmp_memdup((const struct variable *)
+ ((const char *) var + varsize * i),
+ varsize);
reginfo->handler = get_old_api_handler();
reginfo->handlerName = strdup(moduleName);
diff --git a/agent/helpers/table_data.c b/agent/helpers/table_data.c
index 88df5b1..c3a7f9e 100644
--- a/agent/helpers/table_data.c
+++ b/agent/helpers/table_data.c
@@ -74,8 +74,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 227cdef..2403b2f 100644
--- a/agent/helpers/table_dataset.c
+++ b/agent/helpers/table_dataset.c
@@ -212,16 +212,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;
@@ -296,8 +296,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 dea5219..cf166e3 100644
--- a/agent/helpers/table_tdata.c
+++ b/agent/helpers/table_tdata.c
@@ -104,8 +104,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/disman/expression/expExpressionTable.c b/agent/mibgroup/disman/expression/expExpressionTable.c
index 53ca52a..5aab952 100644
--- a/agent/mibgroup/disman/expression/expExpressionTable.c
+++ b/agent/mibgroup/disman/expression/expExpressionTable.c
@@ -560,8 +560,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;
@@ -735,8 +734,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 f61ac1f..fcadfe7 100644
--- a/agent/mibgroup/disman/expression/expObjectTable.c
+++ b/agent/mibgroup/disman/expression/expObjectTable.c
@@ -152,9 +152,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);
@@ -548,8 +547,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;
@@ -807,8 +805,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;
@@ -1071,8 +1069,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 786eee3..77dbe10 100644
--- a/agent/mibgroup/disman/mteObjectsTable.c
+++ b/agent/mibgroup/disman/mteObjectsTable.c
@@ -403,8 +403,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 32db0b8..137e097 100644
--- a/agent/mibgroup/disman/mteTriggerDeltaTable.c
+++ b/agent/mibgroup/disman/mteTriggerDeltaTable.c
@@ -217,8 +217,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 48f1fcd..c5761b5 100644
--- a/agent/mibgroup/disman/mteTriggerExistenceTable.c
+++ b/agent/mibgroup/disman/mteTriggerExistenceTable.c
@@ -250,8 +250,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;
@@ -342,8 +342,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;
@@ -434,8 +434,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;
@@ -526,8 +526,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;
@@ -618,8 +618,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;
@@ -709,8 +709,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 c260d12..5a2bd7b 100644
--- a/agent/mibgroup/disman/mteTriggerTable.c
+++ b/agent/mibgroup/disman/mteTriggerTable.c
@@ -228,9 +228,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;
@@ -1584,8 +1583,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;
@@ -1672,8 +1670,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;
@@ -1845,8 +1842,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;
@@ -2024,8 +2020,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;
@@ -2114,8 +2109,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;
@@ -2375,8 +2370,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;
@@ -2465,8 +2460,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;
@@ -3036,16 +3030,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",
@@ -3364,9 +3359,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 c99e175..28b33d8 100644
--- a/agent/mibgroup/disman/mteTriggerThresholdTable.c
+++ b/agent/mibgroup/disman/mteTriggerThresholdTable.c
@@ -750,8 +750,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;
@@ -842,8 +842,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;
@@ -934,8 +934,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;
@@ -1026,8 +1026,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;
@@ -1118,8 +1118,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;
@@ -1210,8 +1210,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;
@@ -1302,9 +1302,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;
@@ -1396,8 +1395,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;
@@ -1489,9 +1488,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;
@@ -1583,8 +1581,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 db473be..35218f8 100644
--- a/agent/mibgroup/disman/ping/pingCtlTable.c
+++ b/agent/mibgroup/disman/ping/pingCtlTable.c
@@ -1384,9 +1384,10 @@
StorageNew->pingResultsRttSumOfSquares + rtt * rtt;
StorageNew->pingResultsLastGoodProbe_time = timep;
- 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);
@@ -1420,8 +1421,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;
@@ -1512,8 +1515,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;
@@ -4993,8 +4997,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;
@@ -5283,8 +5289,10 @@
StorageNew->pingResultsRttSumOfSquares = *tsum2;
StorageNew->pingResultsLastGoodProbe_time = timep;
- 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) {
@@ -5319,8 +5327,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 6cc9571..46fe97d 100644
--- a/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c
+++ b/agent/mibgroup/disman/traceroute/traceRouteCtlTable.c
@@ -4482,7 +4482,7 @@
if (old_HopsAddress[k] == NULL) {
exit(1);
}
- memdup((u_char **) & old_HopsAddress[k],
+ old_HopsAddress[k] = netsnmp_memdup(
StorageTmp->traceRouteHopsIpTgtAddress,
StorageTmp->
traceRouteHopsIpTgtAddressLen + 1);
@@ -4769,9 +4769,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 {
@@ -4845,9 +4846,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);
@@ -4866,9 +4868,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) {
@@ -5166,7 +5170,7 @@
if (old_HopsAddress[k] == NULL) {
exit(1);
}
- memdup((u_char **) & old_HopsAddress[k],
+ old_HopsAddress[k] = netsnmp_memdup(
StorageTmp->traceRouteHopsIpTgtAddress,
StorageTmp->
traceRouteHopsIpTgtAddressLen + 1);
@@ -5403,7 +5407,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);
@@ -5479,8 +5483,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);
@@ -5503,9 +5507,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 45ef993..833a4f7 100644
--- a/agent/mibgroup/examples/delayed_instance.c
+++ b/agent/mibgroup/examples/delayed_instance.c
@@ -194,8 +194,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 3a1a428..b691a7f 100644
--- a/agent/mibgroup/examples/netSnmpHostsTable.c
+++ b/agent/mibgroup/examples/netSnmpHostsTable.c
@@ -254,8 +254,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
@@ -293,8 +292,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
@@ -331,8 +329,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
@@ -369,8 +366,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/ip-mib/ip_scalars.c b/agent/mibgroup/ip-mib/ip_scalars.c
index 7f6087d..78021a9 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
@@ -244,8 +243,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 172f284..099e39f 100644
--- a/agent/mibgroup/mibII/ipCidrRouteTable.c
+++ b/agent/mibgroup/mibII/ipCidrRouteTable.c
@@ -649,8 +649,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);
}
@@ -666,8 +665,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);
}
@@ -683,8 +681,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);
}
@@ -701,8 +698,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);
}
@@ -718,8 +714,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);
}
@@ -735,8 +730,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);
}
@@ -752,8 +746,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);
}
@@ -769,8 +762,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);
}
@@ -786,8 +778,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);
}
@@ -803,8 +794,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 0088e0c..c3fc363 100644
--- a/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c
+++ b/agent/mibgroup/notification/snmpNotifyFilterProfileTable.c
@@ -649,8 +649,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/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 13c0595..891f9fc 100644
--- a/agent/mibgroup/snmpv3/usmUser.c
+++ b/agent/mibgroup/snmpv3/usmUser.c
@@ -883,7 +883,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;
}
@@ -1133,7 +1133,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 193ca17..c0866dd 100644
--- a/agent/mibgroup/testhandler.c
+++ b/agent/mibgroup/testhandler.c
@@ -339,8 +339,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 d1f7efc..3beebc6 100644
--- a/agent/mibgroup/utilities/iquery.c
+++ b/agent/mibgroup/utilities/iquery.c
@@ -75,7 +75,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;
@@ -175,13 +175,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 deadf0e..d50b6e4 100644
--- a/agent/mibgroup/utilities/override.c
+++ b/agent/mibgroup/utilities/override.c
@@ -56,9 +56,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 ac17711..ce25423 100644
--- a/apps/snmptrapd_sql.c
+++ b/apps/snmptrapd_sql.c
@@ -879,7 +879,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 c2b6179..9ac4fa5 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);
NETSNMP_IMPORT
u_int netsnmp_binary_to_hex(u_char ** dest, size_t *dest_len,
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 2417bc7..9c7fcb9 100644
--- a/perl/SNMP/SNMP.xs
+++ b/perl/SNMP/SNMP.xs
@@ -2688,9 +2688,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 =
@@ -2738,9 +2738,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 7bbd7bb..9f726f5 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 3409227..e42f6c6 100644
--- a/snmplib/scapi.c
+++ b/snmplib/scapi.c
@@ -1205,7 +1205,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;
@@ -1303,7 +1303,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 e900a23..e40bb1d 100644
--- a/snmplib/snmp_api.c
+++ b/snmplib/snmp_api.c
@@ -1257,8 +1257,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;
@@ -1285,18 +1285,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;
}
@@ -1895,8 +1897,9 @@
/*
* copy in the engineID
*/
- if (memdup(&user->engineID, session->securityEngineID,
- session->securityEngineIDLen) != SNMPERR_SUCCESS) {
+ user->engineID = netsnmp_memdup(session->securityEngineID,
+ session->securityEngineIDLen);
+ if (!user->engineID) {
usm_free_user(user);
return SNMPERR_GENERR;
}
@@ -1943,8 +1946,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;
}
@@ -1990,8 +1994,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;
}
diff --git a/snmplib/snmpksm.c b/snmplib/snmpksm.c
index 79e54f4..4b64003 100644
--- a/snmplib/snmpksm.c
+++ b/snmplib/snmpksm.c
@@ -269,22 +269,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 955744a..a38c632 100644
--- a/snmplib/snmptsm.c
+++ b/snmplib/snmptsm.c
@@ -141,8 +141,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;
}
@@ -357,11 +357,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/snmpv3.c b/snmplib/snmpv3.c
index 7712b8b..8b49362 100644
--- a/snmplib/snmpv3.c
+++ b/snmplib/snmpv3.c
@@ -950,7 +950,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 f491ee1..f9951b9 100644
--- a/snmplib/tools.c
+++ b/snmplib/tools.c
@@ -231,31 +231,26 @@
} /* end malloc_random() */
-/** 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() */
/** copies a (possible) unterminated string of a given length into a
* new buffer and null terminates it as well (new buffer MAY be one
diff --git a/snmplib/transports/snmpDTLSUDPDomain.c b/snmplib/transports/snmpDTLSUDPDomain.c
index 4856b2b..98c26f8 100644
--- a/snmplib/transports/snmpDTLSUDPDomain.c
+++ b/snmplib/transports/snmpDTLSUDPDomain.c
@@ -525,8 +525,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 86a0fdd..e380bd5 100644
--- a/snmplib/transports/snmpTLSTCPDomain.c
+++ b/snmplib/transports/snmpTLSTCPDomain.c
@@ -130,7 +130,7 @@
if (oldtlsdata->trust_cert)
newtlsdata->trust_cert = strdup(oldtlsdata->trust_cert);
if (oldtlsdata->remote_addr)
- memdup((u_char**)&newtlsdata->remote_addr, oldtlsdata->remote_addr,
+ newtlsdata->remote_addr = netsnmp_memdup(oldtlsdata->remote_addr,
sizeof(netsnmp_indexed_addr_pair));
return 0;