aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-10-25 11:43:30 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-10-25 11:43:30 +0000
commit88bb44a51e350c9749323242482dc5e944697d8f (patch)
treea19835aec094d07536c6def639d5d5d236f0a1cd /epan/dissectors
parent337896f4c6777bc0b84a2e017ebcbb52100a312b (diff)
From Jakub Zawadzki:
Cleanup dissector code - use proper memory functions. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4164 svn path=/trunk/; revision=30691
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-afs.c9
-rw-r--r--epan/dissectors/packet-ajp13.c9
-rw-r--r--epan/dissectors/packet-alcap.c4
-rw-r--r--epan/dissectors/packet-amqp.c6
-rw-r--r--epan/dissectors/packet-cmpp.c11
-rw-r--r--epan/dissectors/packet-dccp.c4
-rw-r--r--epan/dissectors/packet-dcerpc-netlogon.c4
-rw-r--r--epan/dissectors/packet-dcm.c74
-rw-r--r--epan/dissectors/packet-dmp.c21
-rw-r--r--epan/dissectors/packet-dns.c11
-rw-r--r--epan/dissectors/packet-dtn.c24
-rw-r--r--epan/dissectors/packet-dtn.h1
-rw-r--r--epan/dissectors/packet-enip.c5
-rw-r--r--epan/dissectors/packet-epl_v1.c25
-rw-r--r--epan/dissectors/packet-fclctl.c19
-rw-r--r--epan/dissectors/packet-fclctl.h2
-rw-r--r--epan/dissectors/packet-ftp.c8
-rw-r--r--epan/dissectors/packet-hilscher.c12
-rw-r--r--epan/dissectors/packet-ieee80211.c4
-rw-r--r--epan/dissectors/packet-ieee802154.c4
-rw-r--r--epan/dissectors/packet-ip.c2
-rw-r--r--epan/dissectors/packet-ipsec.c33
-rw-r--r--epan/dissectors/packet-kerberos.c3
-rw-r--r--epan/dissectors/packet-ldap.c4
-rw-r--r--epan/dissectors/packet-ldp.c18
-rw-r--r--epan/dissectors/packet-nfs.c6
-rw-r--r--epan/dissectors/packet-ntlmssp.c18
-rw-r--r--epan/dissectors/packet-per.c3
-rw-r--r--epan/dissectors/packet-pvfs2.c6
-rw-r--r--epan/dissectors/packet-rdt.c3
-rw-r--r--epan/dissectors/packet-rpc.c18
-rw-r--r--epan/dissectors/packet-rtmpt.c24
-rw-r--r--epan/dissectors/packet-rtsp.c4
-rw-r--r--epan/dissectors/packet-smb-sidsnooping.c3
-rw-r--r--epan/dissectors/packet-smpp.c6
-rw-r--r--epan/dissectors/packet-spnego.c3
-rw-r--r--epan/dissectors/packet-ssl-utils.c3
-rw-r--r--epan/dissectors/packet-tcp.c12
-rw-r--r--epan/dissectors/packet-tpncp.c10
-rw-r--r--epan/dissectors/packet-udp.c6
-rw-r--r--epan/dissectors/packet-uts.c40
-rw-r--r--epan/dissectors/packet-wbxml.c6
-rw-r--r--epan/dissectors/packet-wccp.c10
-rw-r--r--epan/dissectors/packet-x11.c5
-rw-r--r--epan/dissectors/packet-x25.c35
-rw-r--r--epan/dissectors/packet-xtp.c3
46 files changed, 175 insertions, 366 deletions
diff --git a/epan/dissectors/packet-afs.c b/epan/dissectors/packet-afs.c
index d209d427dc..3dcd760efa 100644
--- a/epan/dissectors/packet-afs.c
+++ b/epan/dissectors/packet-afs.c
@@ -2627,9 +2627,8 @@ dissect_vldb_reply(tvbuff_t *tvb, struct rxinfo *rxinfo, proto_tree *tree, int o
for (i=0; i<8; i++)
{
char *part;
- part=ep_alloc(8);
j = tvb_get_ntohl(tvb, offset);
- g_snprintf(part, 8, "/vicepa");
+ part=ep_strdup("/vicepa");
if ( i<nservers && j<=25 )
{
part[6] = 'a' + (char) j;
@@ -2675,9 +2674,8 @@ dissect_vldb_reply(tvbuff_t *tvb, struct rxinfo *rxinfo, proto_tree *tree, int o
for (i=0; i<13; i++)
{
char *part;
- part=ep_alloc(8);
j = tvb_get_ntohl(tvb, offset);
- g_snprintf(part, 8, "/vicepa");
+ part=ep_strdup("/vicepa");
if ( i<nservers && j<=25 )
{
part[6] = 'a' + (char) j;
@@ -2724,9 +2722,8 @@ dissect_vldb_reply(tvbuff_t *tvb, struct rxinfo *rxinfo, proto_tree *tree, int o
for (i=0; i<13; i++)
{
char *part;
- part=ep_alloc(8);
j = tvb_get_ntohl(tvb, offset);
- g_snprintf(part, 8, "/vicepa");
+ part=ep_strdup("/vicepa");
if ( i<nservers && j<=25 )
{
part[6] = 'a' + (char) j;
diff --git a/epan/dissectors/packet-ajp13.c b/epan/dissectors/packet-ajp13.c
index 1c2d559dad..7069a5c950 100644
--- a/epan/dissectors/packet-ajp13.c
+++ b/epan/dissectors/packet-ajp13.c
@@ -291,8 +291,7 @@ display_rsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ajp13_tree)
*/
mcode = tvb_get_guint8(tvb, pos);
msg_code = val_to_str(mcode, mtype_codes, "UNKNOWN");
- mcode_buf=ep_alloc(32);
- g_snprintf(mcode_buf, 32, "(%d) %s", mcode, msg_code);
+ mcode_buf=ep_strdup_printf("(%d) %s", mcode, msg_code);
if (ajp13_tree)
proto_tree_add_string(ajp13_tree, hf_ajp13_code, tvb, pos, 1, mcode_buf);
pos+=1;
@@ -494,8 +493,7 @@ display_req_forward(tvbuff_t *tvb, packet_info *pinfo,
const gchar* msg_code = NULL;
char *mcode_buf;
msg_code = val_to_str(cod, mtype_codes, "UNKNOWN");
- mcode_buf=ep_alloc(32);
- g_snprintf(mcode_buf, 32, "(%d) %s", cod, msg_code);
+ mcode_buf=ep_strdup_printf("(%d) %s", cod, msg_code);
proto_tree_add_string(ajp13_tree, hf_ajp13_code, tvb, pos, 1, mcode_buf);
}
pos+=1;
@@ -512,8 +510,7 @@ display_req_forward(tvbuff_t *tvb, packet_info *pinfo,
meth_code = val_to_str(meth, http_method_codes, "UNKNOWN");
if (ajp13_tree) {
char *mcode_buf;
- mcode_buf=ep_alloc(32);
- g_snprintf(mcode_buf, 32, "(%d) %s", meth, meth_code);
+ mcode_buf=ep_strdup_printf("(%d) %s", meth, meth_code);
proto_tree_add_string(ajp13_tree, hf_ajp13_method, tvb, pos, 1, mcode_buf);
}
if(check_col(pinfo->cinfo, COL_INFO))
diff --git a/epan/dissectors/packet-alcap.c b/epan/dissectors/packet-alcap.c
index 8efafe55ec..23f541ec9b 100644
--- a/epan/dissectors/packet-alcap.c
+++ b/epan/dissectors/packet-alcap.c
@@ -425,7 +425,7 @@ static const gchar* dissect_fields_cau(packet_info* pinfo, tvbuff_t *tvb, proto_
*/
guint coding;
- gchar* ret_str = NULL;
+ const gchar* ret_str;
proto_item* pi;
if (len < 2) {
@@ -446,7 +446,7 @@ static const gchar* dissect_fields_cau(packet_info* pinfo, tvbuff_t *tvb, proto_
if ( msg_info->release_cause && msg_info->release_cause != 31 )
expert_add_info_format(pinfo, pi, PI_RESPONSE_CODE, PI_WARN, "Abnormal Release");
- ret_str = ep_strdup(val_to_str(msg_info->release_cause, cause_values_itu, "Unknown(%u)"));
+ ret_str = val_to_str(msg_info->release_cause, cause_values_itu, "Unknown(%u)");
} else {
proto_tree_add_item(tree, hf_alcap_cau_value_non_itu, tvb, offset+1 , 1, FALSE);
ret_str = ep_strdup_printf("%u", msg_info->release_cause);
diff --git a/epan/dissectors/packet-amqp.c b/epan/dissectors/packet-amqp.c
index 1d06064165..e27dd6c62e 100644
--- a/epan/dissectors/packet-amqp.c
+++ b/epan/dissectors/packet-amqp.c
@@ -1003,7 +1003,6 @@ static void
dissect_amqp_field_table(tvbuff_t *tvb, int offset, int bound, int length, proto_item *item)
{
proto_item *field_table_tree;
- char *buff;
guint namelen, vallen;
guint8 type;
const char *name;
@@ -1011,8 +1010,6 @@ dissect_amqp_field_table(tvbuff_t *tvb, int offset, int bound, int length, proto
const char *value;
int field_start;
- buff = ep_alloc(64);
-
field_table_tree = proto_item_add_subtree(item, ett_amqp);
while (length > 0) {
@@ -1038,8 +1035,7 @@ dissect_amqp_field_table(tvbuff_t *tvb, int offset, int bound, int length, proto
break;
case 'I':
typename = "integer";
- g_snprintf(buff, 64, "%ld", (long) tvb_get_ntohl(tvb, offset));
- value = buff;
+ value = ep_strdup_printf("%ld", (long) tvb_get_ntohl(tvb, offset));
AMQP_INCREMENT(offset, 4, bound);
length -= 4;
break;
diff --git a/epan/dissectors/packet-cmpp.c b/epan/dissectors/packet-cmpp.c
index b61b1b9d8e..f4c5c03b07 100644
--- a/epan/dissectors/packet-cmpp.c
+++ b/epan/dissectors/packet-cmpp.c
@@ -34,8 +34,6 @@
#include <epan/packet.h>
#include <epan/dissectors/packet-tcp.h>
-#define CMPP_VERSIONBUF 6
-#define CMPP_TIMESTAMPBUFF 15
#define CMPP_FIX_HEADER_LENGTH 12
#define CMPP_DELIVER_REPORT_LEN 71
@@ -276,8 +274,7 @@ cmpp_version(proto_tree *tree, tvbuff_t *tvb, gint field, gint offset)
version = tvb_get_guint8(tvb, offset);
minor = version & 0x0F;
major = (version & 0xF0) >> 4;
- strval = ep_alloc(CMPP_VERSIONBUF);
- g_snprintf(strval, CMPP_VERSIONBUF, "%02u.%02u", major, minor);
+ strval = ep_strdup_printf("%02u.%02u", major, minor);
/* TODO: the version should be added as a uint_format */
proto_tree_add_string(tree, field, tvb, offset, 1, strval);
return strval;
@@ -299,8 +296,7 @@ cmpp_timestamp(proto_tree *tree, tvbuff_t *tvb, gint field, gint offset)
timevalue /= 100;
day = timevalue % 100;
month = timevalue / 100;
- strval = ep_alloc(CMPP_TIMESTAMPBUFF);
- g_snprintf(strval, CMPP_TIMESTAMPBUFF, "%02u/%02u %02u:%02u:%02u", month, day,
+ strval = ep_strdup_printf("%02u/%02u %02u:%02u:%02u", month, day,
hour, minute, second);
proto_tree_add_string(tree, field, tvb, offset, 4, strval);
return strval;
@@ -363,8 +359,7 @@ cmpp_msg_id(proto_tree *tree, tvbuff_t *tvb, gint field, gint offset)
hour = (tvb_get_guint8(tvb, offset + 1) & 0x7C) >> 2;
minute = (tvb_get_ntohs(tvb, offset + 1) & 0x03F0) >> 4;
second = (tvb_get_ntohs(tvb, offset + 2) & 0x0FC0) >> 6;
- strval = ep_alloc(CMPP_TIMESTAMPBUFF);
- g_snprintf(strval, CMPP_TIMESTAMPBUFF, "%02u/%02u %02u:%02u:%02u", month, day,
+ strval = ep_strdup_printf("%02u/%02u %02u:%02u:%02u", month, day,
hour, minute, second);
ismg_code = (tvb_get_ntohl(tvb, offset + 3) & 0x3FFFFF00) >> 16;
diff --git a/epan/dissectors/packet-dccp.c b/epan/dissectors/packet-dccp.c
index b551832e06..a8da9fdb33 100644
--- a/epan/dissectors/packet-dccp.c
+++ b/epan/dissectors/packet-dccp.c
@@ -589,9 +589,7 @@ static void dissect_dccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
THROW(ReportedBoundsError);
}
- dccph=ep_alloc(sizeof(e_dccphdr));
-
- memset(dccph, 0, sizeof(e_dccphdr));
+ dccph=ep_alloc0(sizeof(e_dccphdr));
SET_ADDRESS(&dccph->ip_src, pinfo->src.type, pinfo->src.len, pinfo->src.data);
SET_ADDRESS(&dccph->ip_dst, pinfo->dst.type, pinfo->dst.len, pinfo->dst.data);
diff --git a/epan/dissectors/packet-dcerpc-netlogon.c b/epan/dissectors/packet-dcerpc-netlogon.c
index cab559af51..ffaf91f626 100644
--- a/epan/dissectors/packet-dcerpc-netlogon.c
+++ b/epan/dissectors/packet-dcerpc-netlogon.c
@@ -2510,9 +2510,7 @@ netlogon_dissect_netrserverreqchallenge_rqst(tvbuff_t *tvb, int offset,
txt_len = strlen(dcv->private_data);
debugprintf("1)Len %d offset %d txt %s\n",txt_len,offset,(char*)dcv->private_data);
- vars->client_name = se_alloc(txt_len+1);
- memcpy(vars->client_name,dcv->private_data,txt_len+1);
- vars->client_name[txt_len] = '\0';
+ vars->client_name = se_strdup(dcv->private_data);
debugprintf("2)Len %d offset %d txt %s\n",txt_len,offset,vars->client_name);
offset = dissect_dcerpc_8bytes(tvb, offset, pinfo, tree, drep,
diff --git a/epan/dissectors/packet-dcm.c b/epan/dissectors/packet-dcm.c
index 6ca3d0eff7..c7dfac9bed 100644
--- a/epan/dissectors/packet-dcm.c
+++ b/epan/dissectors/packet-dcm.c
@@ -4386,11 +4386,11 @@ dcm_export_create_object(packet_info *pinfo, dcm_state_assoc_t *assoc, dcm_state
guint32 pdv_combined_len = 0;
guint32 dcm_header_len = 0;
guint16 cnt_same_pkt = 1;
- gchar *filename = NULL;
- gchar *hostname = NULL;
+ gchar *filename;
+ const gchar *hostname;
- gchar *sop_class_uid = NULL;
- gchar *sop_instance_uid = NULL;
+ gchar *sop_class_uid;
+ gchar *sop_instance_uid;
/* Calculate total PDV length, i.e. all packets until last PDV without continuation */
pdv_curr = pdv;
@@ -4410,44 +4410,37 @@ dcm_export_create_object(packet_info *pinfo, dcm_state_assoc_t *assoc, dcm_state
pctx=dcm_state_pctx_get(assoc, pdv_curr->pctx_id, FALSE);
- sop_class_uid = ep_alloc0(MAX_BUF_LEN);
- sop_instance_uid = ep_alloc0(MAX_BUF_LEN);
-
- hostname = ep_alloc0(MAX_BUF_LEN);
- filename = ep_alloc0(MAX_BUF_LEN);
-
if (assoc->ae_calling && strlen(assoc->ae_calling)>0 &&
assoc->ae_called && strlen(assoc->ae_called)>0 ) {
- g_snprintf(hostname, MAX_BUF_LEN, "%s <-> %s", assoc->ae_calling, assoc->ae_called);
+ hostname = ep_strdup_printf("%s <-> %s", assoc->ae_calling, assoc->ae_called);
}
else {
- g_snprintf(hostname, MAX_BUF_LEN, "AE title(s) unknown");
+ hostname = "AE title(s) unknown";
}
if (pdv->is_storage &&
pdv_curr->sop_class_uid && strlen(pdv_curr->sop_class_uid)>0 &&
pdv_curr->sop_instance_uid && strlen(pdv_curr->sop_instance_uid)>0) {
- g_snprintf(sop_class_uid, MAX_BUF_LEN, "%s", pdv_curr->sop_class_uid);
- g_snprintf(sop_instance_uid, MAX_BUF_LEN, "%s", pdv_curr->sop_instance_uid);
+ sop_class_uid = ep_strndup(pdv_curr->sop_class_uid, MAX_BUF_LEN);
+ sop_instance_uid = ep_strndup(pdv_curr->sop_instance_uid, MAX_BUF_LEN);
/* Make sure filename does not contain invalid character. Rather conservative.
Eventhough this should be a valid DICOM UID, apply the same filter rules
in case of bogus data.
*/
- g_snprintf(filename, MAX_BUF_LEN, "%06d-%d-%s.dcm", pinfo->fd->num, cnt_same_pkt,
+ filename = ep_strdup_printf("%06d-%d-%s.dcm", pinfo->fd->num, cnt_same_pkt,
g_strcanon(pdv_curr->sop_instance_uid, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-.", '-'));
}
else {
/* No SOP Instance or SOP Class UID found in PDV. Use wireshark ones */
- g_snprintf(sop_class_uid, MAX_BUF_LEN, "%s", WIRESHARK_MEDIA_STORAGE_SOP_CLASS_UID);
-
- g_snprintf(sop_instance_uid, MAX_BUF_LEN, "%s.%d.%d",
+ sop_class_uid = ep_strdup(WIRESHARK_MEDIA_STORAGE_SOP_CLASS_UID);
+ sop_instance_uid = ep_strdup_printf("%s.%d.%d",
WIRESHARK_MEDIA_STORAGE_SOP_INSTANCE_UID_PREFIX, pinfo->fd->num, cnt_same_pkt);
/* Make sure filename does not contain invalid character. Rather conservative.*/
- g_snprintf(filename, MAX_BUF_LEN, "%06d-%d-%s.dcm", pinfo->fd->num, cnt_same_pkt,
+ filename = ep_strdup_printf("%06d-%d-%s.dcm", pinfo->fd->num, cnt_same_pkt,
g_strcanon(pdv->desc, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-.", '-'));
}
@@ -4473,8 +4466,7 @@ dcm_export_create_object(packet_info *pinfo, dcm_state_assoc_t *assoc, dcm_state
export_object.c -> eo_win_destroy_cb() using g_free()
*/
- pdv_combined = g_malloc(dcm_header_len + pdv_combined_len);
- memset(pdv_combined, 0, dcm_header_len + pdv_combined_len);
+ pdv_combined = g_malloc0(dcm_header_len + pdv_combined_len);
pdv_combined_curr = pdv_combined;
@@ -4496,8 +4488,7 @@ dcm_export_create_object(packet_info *pinfo, dcm_state_assoc_t *assoc, dcm_state
g_free(pdv_curr->data);
/* Add to list */
- eo_info = g_malloc(sizeof(dicom_eo_t));
- memset(eo_info, 0, sizeof(dicom_eo_t));
+ eo_info = g_malloc0(sizeof(dicom_eo_t));
eo_info->hostname = g_strdup(hostname);
eo_info->filename = g_strdup(filename);
eo_info->content_type = g_strdup(pdv->desc);
@@ -5458,30 +5449,26 @@ dcm_tag_summary(guint16 grp, guint16 elm, guint32 vl, gchar *tag_desc, gchar *vr
gboolean is_retired, gboolean is_implicit)
{
- gchar *desc_mod = NULL;
- gchar *tag_vl = NULL;
- gchar *tag_sum = NULL;
-
- desc_mod = ep_alloc0(MAX_BUF_LEN);
- tag_vl = ep_alloc0(MAX_BUF_LEN);
- tag_sum = ep_alloc0(MAX_BUF_LEN);
+ gchar *desc_mod;
+ gchar *tag_vl;
+ gchar *tag_sum;
if (is_retired) {
- g_snprintf(desc_mod, MAX_BUF_LEN, "(Retired) %-35.35s", tag_desc);
+ desc_mod = ep_strdup_printf("(Retired) %-35.35s", tag_desc);
}
else {
- g_snprintf(desc_mod, MAX_BUF_LEN, "%-45.45s", tag_desc);
+ desc_mod = ep_strdup_printf("%-45.45s", tag_desc);
}
if (vl == 0xFFFFFFFF) {
- g_snprintf(tag_vl, MAX_BUF_LEN, "%10.10s", "<udef>");
+ tag_vl = ep_strdup_printf("%10.10s", "<udef>");
}
else {
- g_snprintf(tag_vl, MAX_BUF_LEN, "%10u", vl); /* Show as dec */
+ tag_vl = ep_strdup_printf("%10u", vl); /* Show as dec */
}
- if (is_implicit) g_snprintf(tag_sum, MAX_BUF_LEN, "(%04x,%04x) %s %s", grp, elm, tag_vl, desc_mod);
- else g_snprintf(tag_sum, MAX_BUF_LEN, "(%04x,%04x) %s %s [%s]", grp, elm, tag_vl, desc_mod, vr);
+ if (is_implicit) tag_sum = ep_strdup_printf("(%04x,%04x) %s %s", grp, elm, tag_vl, desc_mod);
+ else tag_sum = ep_strdup_printf("(%04x,%04x) %s %s [%s]", grp, elm, tag_vl, desc_mod, vr);
return tag_sum;
}
@@ -5891,8 +5878,7 @@ dissect_dcm_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_item_append_text(tag_pitem, " %s", tag_value);
if (tag_def->add_to_summary) {
- *tag_description = ep_alloc0(MAX_BUF_LEN);
- g_snprintf(*tag_description, MAX_BUF_LEN, "%s", g_strstrip(tag_value));
+ *tag_description = ep_strdup(g_strstrip(tag_value));
}
return offset;
@@ -6338,7 +6324,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
gboolean valid_pdutype=TRUE;
- gchar *info_str = NULL;
+ gchar *info_str;
/* Get or create converstation. Used to store context IDs and xfer Syntax */
@@ -6360,8 +6346,6 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
return offset;
}
- info_str = ep_alloc0(MAX_BUF_LEN);
-
pdu_type = tvb_get_guint8(tvb, offset);
pdu_len = tvb_get_ntohl(tvb, offset + 2);
@@ -6371,7 +6355,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
tvb_memcpy(tvb, assoc->ae_calling, 26, 16);
assoc->ae_called[AEEND] = 0;
assoc->ae_calling[AEEND] = 0;
- g_snprintf(info_str, 128, "A-ASSOCIATE request %s --> %s",
+ info_str = ep_strdup_printf("A-ASSOCIATE request %s --> %s",
g_strstrip(assoc->ae_calling), g_strstrip(assoc->ae_called));
assoc_header = 74;
break;
@@ -6380,7 +6364,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
tvb_memcpy(tvb, assoc->ae_calling_resp, 26, 16);
assoc->ae_called_resp[AEEND] = 0;
assoc->ae_calling_resp[AEEND] = 0;
- g_snprintf(info_str, MAX_BUF_LEN, "A-ASSOCIATE accept %s <-- %s",
+ info_str = ep_strdup_printf("A-ASSOCIATE accept %s <-- %s",
g_strstrip(assoc->ae_calling_resp), g_strstrip(assoc->ae_called_resp));
assoc_header = 74;
break;
@@ -6388,7 +6372,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
assoc->result = tvb_get_guint8(tvb, 7);
assoc->source = tvb_get_guint8(tvb, 8);
assoc->reason = tvb_get_guint8(tvb, 9);
- g_snprintf(info_str, 128, "A-ASSOCIATE reject %s <-- %s %s %s %s",
+ info_str = ep_strdup_printf("A-ASSOCIATE reject %s <-- %s %s %s %s",
g_strstrip(assoc->ae_calling), g_strstrip(assoc->ae_called),
dcm_result2str(assoc->result),
dcm_source2str(assoc->source),
@@ -6406,7 +6390,7 @@ dissect_dcm_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint32 off
case 7: /* ABORT */
assoc->source = tvb_get_guint8(tvb, 8);
assoc->reason = tvb_get_guint8(tvb, 9);
- g_snprintf(info_str, 128, "ABORT %s <-- %s %s %s",
+ info_str = ep_strdup_printf("ABORT %s <-- %s %s %s",
assoc->ae_called, assoc->ae_calling,
(assoc->source == 1) ? "USER" :
(assoc->source == 2) ? "PROVIDER" : "",
diff --git a/epan/dissectors/packet-dmp.c b/epan/dissectors/packet-dmp.c
index 95e9e1b108..eb456a08ee 100644
--- a/epan/dissectors/packet-dmp.c
+++ b/epan/dissectors/packet-dmp.c
@@ -130,7 +130,6 @@
/* Maximum lengths */
#define MAX_SIC_LEN 30
-#define MAX_MSG_TYPE_LEN 46
#define MAX_SEC_CAT_LEN 33
#define MAX_ENV_FLAGS_LEN 100
#define MAX_STRUCT_ID_LEN 128
@@ -822,14 +821,14 @@ static enum_val_t struct_id_options[] = {
static const gchar *msg_type_to_str (void)
{
- gchar *msg_type = ep_alloc (MAX_MSG_TYPE_LEN);
- gboolean have_msg = FALSE;
+ const gchar *msg_type;
+ gboolean have_msg = FALSE;
switch (dmp.msg_type) {
case STANAG:
/* Include message type and precedence */
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "%s (%s) [%s]",
+ msg_type = ep_strdup_printf ("%s (%s) [%s]",
val_to_str (dmp.msg_type, type_vals, "Unknown"),
val_to_str (dmp.st_type, message_type_vals, "Unknown"),
(dmp.prec == 0x6 || dmp.prec == 0x7) ?
@@ -839,35 +838,34 @@ static const gchar *msg_type_to_str (void)
case IPM:
/* Include importance */
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "%s [%s]",
+ msg_type = ep_strdup_printf ("%s [%s]",
val_to_str (dmp.msg_type, type_vals, "Unknown"),
val_to_str (dmp.prec, importance, "Unknown"));
break;
case REPORT:
/* Include report types included */
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "Report (%s%s%s)",
+ msg_type = ep_strdup_printf ("Report (%s%s%s)",
dmp.dr ? "DR" : "", (dmp.dr && dmp.ndr) ? " and " : "",
dmp.ndr ? "NDR" : "");
break;
case NOTIF:
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "%s",
- val_to_str (dmp.notif_type, notif_type, "Unknown"));
+ msg_type = val_to_str (dmp.notif_type, notif_type, "Unknown");
break;
case ACK:
/* If we have msg_time we have a matching packet */
have_msg = (dmp.id_val &&
(dmp.id_val->msg_time.secs>0 || dmp.id_val->msg_time.nsecs>0));
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "Acknowledgement%s%s",
+ msg_type = ep_strdup_printf ( "Acknowledgement%s%s",
have_msg ? val_to_str (dmp.id_val->msg_type, ack_msg_type,
" (unknown:%d)") : "",
dmp.ack_reason ? " [negative]" : "");
break;
default:
- g_snprintf (msg_type, MAX_MSG_TYPE_LEN, "Unknown");
+ msg_type = "Unknown";
break;
}
@@ -1190,8 +1188,7 @@ static void register_dmp_id (packet_info *pinfo, guint8 reason)
}
} else {
/* New message */
- dmp_data = se_alloc (sizeof (dmp_id_val));
- memset (dmp_data, 0, sizeof (dmp_id_val));
+ dmp_data = se_alloc0 (sizeof (dmp_id_val));
dmp_data->msg_type = dmp.msg_type;
if (dmp.msg_type == ACK) {
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c
index c073004b67..cdfb874ef8 100644
--- a/epan/dissectors/packet-dns.c
+++ b/epan/dissectors/packet-dns.c
@@ -582,14 +582,10 @@ dns_type_description (guint type)
};
const char *short_name;
const char *long_name;
-#define MAX_STRBUF_LEN 1024
- char *strbuf;
- strbuf=ep_alloc(MAX_STRBUF_LEN);
short_name = dns_type_name(type);
if (short_name == NULL) {
- g_snprintf(strbuf, MAX_STRBUF_LEN, "Unknown (%u)", type);
- return strbuf;
+ return ep_strdup_printf("Unknown (%u)", type);
}
if (type < sizeof(type_names)/sizeof(type_names[0]))
long_name = type_names[type];
@@ -627,10 +623,9 @@ dns_type_description (guint type)
}
if (long_name != NULL)
- g_snprintf(strbuf, MAX_STRBUF_LEN, "%s (%s)", short_name, long_name);
+ return ep_strdup_printf("%s (%s)", short_name, long_name);
else
- g_snprintf(strbuf, MAX_STRBUF_LEN, "%s", short_name);
- return strbuf;
+ return ep_strdup(short_name);
}
static const value_string dns_classes[] = {
diff --git a/epan/dissectors/packet-dtn.c b/epan/dissectors/packet-dtn.c
index e7dea47dc8..e81953e3e3 100644
--- a/epan/dissectors/packet-dtn.c
+++ b/epan/dissectors/packet-dtn.c
@@ -670,8 +670,8 @@ dissect_primary_header(packet_info *pinfo, proto_tree *primary_tree, tvbuff_t *t
int dst_scheme_pos, src_scheme_pos, rpt_scheme_pos, cust_scheme_pos;
int dst_scheme_len, src_scheme_len, rpt_scheme_len, cust_scheme_len;
int dst_ssp_len, src_ssp_len, rpt_ssp_len, cust_ssp_len;
- gchar *src_node;
- gchar *dst_node;
+ const gchar *src_node;
+ const gchar *dst_node;
guint8 srrflags;
guint8 version;
@@ -921,24 +921,22 @@ dissect_primary_header(packet_info *pinfo, proto_tree *primary_tree, tvbuff_t *t
cust_scheme_len + cust_ssp_len,
"Custodian: %d.%d",cust_scheme_offset,cust_ssp_offset);
}
- src_node = ep_alloc(NODE_NAME_STR_SIZE);
- dst_node = ep_alloc(NODE_NAME_STR_SIZE);
if(source_scheme_offset == 0 && source_ssp_offset == 0)
{
- g_snprintf(src_node,5,"Null");
+ src_node = "Null";
}
else
{
- g_snprintf(src_node,NODE_NAME_STR_SIZE,"%s:%d.%d",IPN_SCHEME_STR, source_scheme_offset, source_ssp_offset);
+ src_node = ep_strdup_printf("%s:%d.%d",IPN_SCHEME_STR, source_scheme_offset, source_ssp_offset);
}
if(dest_scheme_offset == 0 && dest_ssp_offset == 0)
{
- g_snprintf(dst_node,5,"Null");
+ dst_node = "Null";
}
else
{
- g_snprintf(dst_node,NODE_NAME_STR_SIZE,"%s:%d.%d",IPN_SCHEME_STR, dest_scheme_offset, dest_ssp_offset);
+ dst_node = ep_strdup_printf("%s:%d.%d",IPN_SCHEME_STR, dest_scheme_offset, dest_ssp_offset);
}
col_add_fstr(pinfo->cinfo, COL_INFO, "%s > %s", src_node,dst_node);
@@ -1412,24 +1410,22 @@ dissect_version_5_primary_header(packet_info *pinfo,
cust_scheme_len + cust_ssp_len,
"Custodian: %d.%d",cust_scheme_offset,cust_ssp_offset);
}
- src_node = ep_alloc(NODE_NAME_STR_SIZE);
- dst_node = ep_alloc(NODE_NAME_STR_SIZE);
if(source_scheme_offset == 0 && source_ssp_offset == 0)
{
- g_snprintf(src_node,5,"Null");
+ src_node = "Null";
}
else
{
- g_snprintf(src_node,NODE_NAME_STR_SIZE,"%s:%d.%d",IPN_SCHEME_STR, source_scheme_offset, source_ssp_offset);
+ src_node = ep_strdup_printf("%s:%d.%d",IPN_SCHEME_STR, source_scheme_offset, source_ssp_offset);
}
if(dest_scheme_offset == 0 && dest_ssp_offset == 0)
{
- g_snprintf(dst_node,5,"Null");
+ dst_node = "Null";
}
else
{
- g_snprintf(dst_node,NODE_NAME_STR_SIZE,"%s:%d.%d",IPN_SCHEME_STR, dest_scheme_offset, dest_ssp_offset);
+ dst_node = ep_strdup_printf("%s:%d.%d",IPN_SCHEME_STR, dest_scheme_offset, dest_ssp_offset);
}
col_add_fstr(pinfo->cinfo, COL_INFO, "%s > %s", src_node, dst_node);
diff --git a/epan/dissectors/packet-dtn.h b/epan/dissectors/packet-dtn.h
index 53900b21ee..431cd38854 100644
--- a/epan/dissectors/packet-dtn.h
+++ b/epan/dissectors/packet-dtn.h
@@ -133,4 +133,3 @@
#define BLOCK_CONTROL_EID_REFERENCE 0x40
#define IPN_SCHEME_STR "ipn"
-#define NODE_NAME_STR_SIZE 24
diff --git a/epan/dissectors/packet-enip.c b/epan/dissectors/packet-enip.c
index f1ee3963d1..038ea276ff 100644
--- a/epan/dissectors/packet-enip.c
+++ b/epan/dissectors/packet-enip.c
@@ -50,8 +50,6 @@
#include "packet-enip.h"
#include "packet-cip.h"
-#define se_new(type) ((type*)se_alloc(sizeof(type)))
-
/* Communication Ports */
#define ENIP_ENCAP_PORT 44818 /* EtherNet/IP located on port 44818 */
#define ENIP_IO_PORT 2222 /* EtherNet/IP IO located on port 2222 */
@@ -358,8 +356,7 @@ enip_request_info_t *request_info = NULL;
{
if ( request_val == NULL )
{
- new_request_key = se_alloc(sizeof(enip_request_key_t));
- memcpy( new_request_key, prequest_key, sizeof(enip_request_key_t) );
+ new_request_key = se_memdup(prequest_key, sizeof(enip_request_key_t));
request_val = se_alloc(sizeof(enip_request_val_t));
request_val->frames = se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "enip_frames");
diff --git a/epan/dissectors/packet-epl_v1.c b/epan/dissectors/packet-epl_v1.c
index 1db73cf98c..b20a6c5544 100644
--- a/epan/dissectors/packet-epl_v1.c
+++ b/epan/dissectors/packet-epl_v1.c
@@ -240,7 +240,6 @@ static gboolean
dissect_epl_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint8 epl_v1_service, epl_v1_dest, epl_v1_src, epl_v1_ainv_ch, epl_v1_asnd_ch;
- gchar *info_str;
gint offset;
proto_item *ti=NULL;
proto_tree *epl_v1_tree=NULL;
@@ -252,12 +251,10 @@ dissect_epl_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
offset = 0;
- info_str = ep_alloc(200);
- info_str[0] = 0;
/* make entries in Protocol column and Info column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "EPL_V1");
-
+ col_clear(pinfo->cinfo, COL_INFO);
/* get service type */
epl_v1_service = tvb_get_guint8(tvb, EPL_V1_SERVICE_OFFSET) & 0x7F;
@@ -268,36 +265,35 @@ dissect_epl_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* get source */
epl_v1_src = tvb_get_guint8(tvb, EPL_V1_SRC_OFFSET);
-
/* choose the right string for "Info" column */
switch(epl_v1_service){
case EPL_V1_SOC:
- g_snprintf(info_str, 200, "SoC dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "SoC dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
break;
case EPL_V1_EOC:
- g_snprintf(info_str, 200, "EoC dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "EoC dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
break;
case EPL_V1_PREQ:
- g_snprintf(info_str, 200, "PReq dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "PReq dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
break;
case EPL_V1_PRES:
- g_snprintf(info_str, 200, "PRes dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "PRes dest = %3d src = %3d ", epl_v1_dest, epl_v1_src);
break;
case EPL_V1_AINV:
/* get AInv channel */
epl_v1_ainv_ch = tvb_get_guint8(tvb, EPL_V1_AINV_CHANNEL_OFFSET);
- g_snprintf(info_str, 200, "AInv dest = %3d src = %3d channel = %s ",
+ col_add_fstr(pinfo->cinfo, COL_INFO, "AInv dest = %3d src = %3d channel = %s ",
epl_v1_dest, epl_v1_src, val_to_str(epl_v1_ainv_ch, ainv_channel_number_vals, "unknown Channel (%d)"));
break;
case EPL_V1_ASND:
/* get ASnd channel */
epl_v1_asnd_ch = tvb_get_guint8(tvb, EPL_V1_ASND_CHANNEL_OFFSET);
- g_snprintf(info_str, 200, "ASnd dest = %3d src = %3d channel = %s ",
+ col_add_fstr(pinfo->cinfo, COL_INFO, "ASnd dest = %3d src = %3d channel = %s ",
epl_v1_dest, epl_v1_src, val_to_str(epl_v1_asnd_ch, asnd_channel_number_vals, "unknown Channel (%d)"));
break;
@@ -305,13 +301,6 @@ dissect_epl_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
return FALSE;
}
- col_clear(pinfo->cinfo, COL_INFO);
-
-
- if(check_col(pinfo->cinfo, COL_INFO)){
- col_add_str(pinfo->cinfo, COL_INFO, info_str);
- }
-
if(tree){
/* create display subtree for the protocol */
ti = proto_tree_add_item(tree, proto_epl_v1, tvb, 0, -1, TRUE);
diff --git a/epan/dissectors/packet-fclctl.c b/epan/dissectors/packet-fclctl.c
index 17999a2d99..96ce9e83f0 100644
--- a/epan/dissectors/packet-fclctl.c
+++ b/epan/dissectors/packet-fclctl.c
@@ -136,29 +136,22 @@ fclctl_get_typestr (guint8 linkctl_type, guint8 type)
(linkctl_type == FC_LCTL_FBSYL)) {
return (val_to_str ((type & 0xF0), fc_lctl_fbsy_val, "0x%x"));
}
- else return ("\0");
+ return "";
}
-gchar *
+const gchar *
fclctl_get_paramstr (guint32 linkctl_type, guint32 param)
{
- gchar *errstr;
-
-#define MAX_ERRSTR_LEN 64
- errstr=ep_alloc(MAX_ERRSTR_LEN);
- errstr[0] = '\0';
-
if (linkctl_type == FC_LCTL_PBSY) {
- g_snprintf(errstr, MAX_ERRSTR_LEN, "%s, %s",
+ return g_strdup_printf("%s, %s",
val_to_str (((param & 0xFF000000) >> 24), fc_lctl_pbsy_acode_val, "0x%x"),
val_to_str (((param & 0x00FF0000) >> 16), fc_lctl_pbsy_rjt_val, "0x%x"));
}
- else if ((linkctl_type == FC_LCTL_FRJT) ||
+ if ((linkctl_type == FC_LCTL_FRJT) ||
(linkctl_type == FC_LCTL_PRJT)) {
- g_snprintf(errstr, MAX_ERRSTR_LEN, "%s, %s",
+ return g_strdup_printf("%s, %s",
val_to_str (((param & 0xFF000000) >> 24), fc_lctl_rjt_acode_val, "0x%x"),
val_to_str (((param & 0x00FF0000) >> 16), fc_lctl_rjt_val, "%x"));
}
-
- return (errstr);
+ return "";
}
diff --git a/epan/dissectors/packet-fclctl.h b/epan/dissectors/packet-fclctl.h
index 12dcd98feb..1056392d93 100644
--- a/epan/dissectors/packet-fclctl.h
+++ b/epan/dissectors/packet-fclctl.h
@@ -92,5 +92,5 @@ extern const value_string fc_lctl_proto_val[];
/* Function definitions */
const gchar *fclctl_get_typestr (guint8 linkctl_type, guint8 type);
-gchar *fclctl_get_paramstr (guint32 linkctl_type, guint32 param);
+const gchar *fclctl_get_paramstr (guint32 linkctl_type, guint32 param);
#endif
diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c
index 5e123f8d98..76e1c2248b 100644
--- a/epan/dissectors/packet-ftp.c
+++ b/epan/dissectors/packet-ftp.c
@@ -193,9 +193,7 @@ parse_port_pasv(const guchar *line, int linelen, guint32 *ftp_ip,
/*
* Copy the rest of the line into a null-terminated buffer.
*/
- args = ep_alloc(linelen + 1);
- memcpy(args, line, linelen);
- args[linelen] = '\0';
+ args = ep_strndup(line, linelen);
p = args;
for (;;) {
@@ -253,9 +251,7 @@ parse_extended_pasv_response(const guchar *line, int linelen, guint16 *ftp_port)
/*
* Copy the rest of the line into a null-terminated buffer.
*/
- args = ep_alloc(linelen + 1);
- memcpy(args, line, linelen);
- args[linelen] = '\0';
+ args = ep_strndup(line, linelen);
p = args;
/*
diff --git a/epan/dissectors/packet-hilscher.c b/epan/dissectors/packet-hilscher.c
index 5a87316a26..d5c17df281 100644
--- a/epan/dissectors/packet-hilscher.c
+++ b/epan/dissectors/packet-hilscher.c
@@ -94,11 +94,6 @@ dissect_hilscher_netanalyzer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
proto_item *ti = NULL;
guint gpio_num;
guint gpio_edgex;
- gchar *szInfo = NULL;
-
- #define MAX_BUFFER 60
- szInfo=ep_alloc(MAX_BUFFER);
- szInfo[0]=0;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "netANALYZER");
@@ -118,12 +113,9 @@ dissect_hilscher_netanalyzer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
gpio_edgex = (tvb_get_guint8(tvb, offset) & 0x01);
if (gpio_edgex == 0x00)
- g_snprintf(szInfo, MAX_BUFFER, "netANALYZER event on GPIO %d (positive edge)", gpio_num);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "netANALYZER event on GPIO %d (positive edge)", gpio_num);
else
- g_snprintf(szInfo, MAX_BUFFER, "netANALYZER event on GPIO %d (negative edge)", gpio_num);
-
- if (check_col(pinfo->cinfo, COL_INFO))
- col_add_str(pinfo->cinfo, COL_INFO, szInfo);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "netANALYZER event on GPIO %d (negative edge)", gpio_num);
}
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index 0a873d60fc..2c1d3affa4 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -12188,9 +12188,7 @@ try_decrypt(tvbuff_t *tvb, guint offset, guint len, guint8 *algorithm, guint32 *
}
/* allocate buffer for decrypted payload */
- if ((tmp = g_malloc(dec_caplen-offset)) == NULL)
- return NULL; /* krap! */
- memcpy(tmp, dec_data+offset, dec_caplen-offset);
+ tmp = g_memdup(dec_data+offset, dec_caplen-offset);
len=dec_caplen-offset;
diff --git a/epan/dissectors/packet-ieee802154.c b/epan/dissectors/packet-ieee802154.c
index c92f4749e4..2ac18f8698 100644
--- a/epan/dissectors/packet-ieee802154.c
+++ b/epan/dissectors/packet-ieee802154.c
@@ -329,12 +329,10 @@ print_eui64_oui(guint64 addr)
}
else {
/* Found an address string. */
- gchar *output_str = ep_alloc(64);
- g_snprintf(output_str, 64, "%s_%02x:%02x:%02x:%02x:%02x", manuf_name,
+ return ep_strdup_printf("%s_%02x:%02x:%02x:%02x:%02x", manuf_name,
((guint8 *)(eui64addr.data))[3], ((guint8 *)(eui64addr.data))[4],
((guint8 *)(eui64addr.data))[5], ((guint8 *)(eui64addr.data))[6],
((guint8 *)(eui64addr.data))[7]);
- return output_str;
}
} /* print_eui64_oui */
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index 495a58bba7..2a8128ec73 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -658,7 +658,6 @@ dissect_ipopt_cipso(const ip_tcp_opt *optp, tvbuff_t *tvb, int offset,
if (val_ptr[byte_spot] & bitmask) {
g_snprintf(cat_str_tmp, USHRT_MAX_STRLEN, "%u",
byte_spot * 8 + bit_spot);
- cat_str_tmp[USHRT_MAX_STRLEN - 1] = '\0';
if (cat_str_len < (strlen(cat_str) + 2 + USHRT_MAX_STRLEN)) {
char *cat_str_new;
while (cat_str_len < (strlen(cat_str) + 2 + USHRT_MAX_STRLEN))
@@ -717,7 +716,6 @@ dissect_ipopt_cipso(const ip_tcp_opt *optp, tvbuff_t *tvb, int offset,
g_snprintf(cat_str_tmp, USHRT_MAX_STRLEN, "%u",
tvb_get_ntohs(tvb, offset));
offset += 2;
- cat_str_tmp[USHRT_MAX_STRLEN - 1] = '\0';
if (cat_str[0] != '\0')
g_strlcat(cat_str, ",", USHRT_MAX_STRLEN * 15);
g_strlcat(cat_str, cat_str_tmp, USHRT_MAX_STRLEN * 15);
diff --git a/epan/dissectors/packet-ipsec.c b/epan/dissectors/packet-ipsec.c
index 0e44af9745..5e9abfbfe6 100644
--- a/epan/dissectors/packet-ipsec.c
+++ b/epan/dissectors/packet-ipsec.c
@@ -395,9 +395,7 @@ get_full_ipv6_addr(char* ipv6_addr_expanded, char *ipv6_addr)
if(suffix_len < IPSEC_STRLEN_IPV6)
{
- prefix_addr = ep_alloc(strlen(ipv6_addr) - suffix_cpt + 1);
- memcpy(prefix_addr,ipv6_addr,strlen(ipv6_addr) - suffix_cpt);
- prefix_addr[strlen(ipv6_addr) - suffix_cpt] = '\0';
+ prefix_addr = ep_strndup(ipv6_addr,strlen(ipv6_addr) - suffix_cpt);
prefix_remaining = get_ipv6_suffix(prefix,prefix_addr);
prefix_len = strlen(prefix);
memcpy(ipv6_addr_expanded,prefix,prefix_len);
@@ -588,8 +586,7 @@ esp_sa_parse_ipv6addr(const gchar *sa, guint index_start, gchar **pt_ipv6addr, g
if(done_flag)
{
- *pt_ipv6addr = (gchar *)g_malloc((strlen(addr_string) + 1) * sizeof(gchar));
- memcpy(*pt_ipv6addr,addr_string,strlen(addr_string) + 1);
+ *pt_ipv6addr = g_strdup(addr_string);
}
return done_flag;
@@ -644,8 +641,7 @@ esp_sa_parse_ipv4addr(const gchar *sa, guint index_start, gchar **pt_ipv4addr, g
if(done_flag)
{
- *pt_ipv4addr = (gchar *)g_malloc((strlen(addr_string) + 1) * sizeof(gchar));
- memcpy(*pt_ipv4addr,addr_string,strlen(addr_string) + 1);
+ *pt_ipv4addr = g_strdup(addr_string);
}
return done_flag;
@@ -698,8 +694,7 @@ esp_sa_parse_spi(const gchar *sa, guint index_start, gchar **pt_spi, guint *inde
}
*index_end = cpt + index_start - 1;
- *pt_spi = (gchar *)g_malloc((strlen(spi_string) + 1) * sizeof(gchar));
- memcpy(*pt_spi, spi_string, strlen(spi_string) + 1);
+ *pt_spi = g_strdup(spi_string);
done_flag = TRUE;
}
@@ -851,7 +846,7 @@ esp_sa_remove_white(const gchar *sa, gchar **sa_bis)
}
sa_tmp = ep_alloc(strlen(sa) + 1);
- for(i = 0; i < strlen(sa); i++)
+ for(i = 0; sa[i]; i++)
{
if((sa[i] != ' ') && (sa[i] != '\t'))
@@ -863,9 +858,7 @@ esp_sa_remove_white(const gchar *sa, gchar **sa_bis)
sa_tmp[cpt] = '\0';
/* XXX - Should this be se_allocated instead? */
- *sa_bis = (gchar *)g_malloc((cpt +1) * sizeof(gchar));
- memcpy(*sa_bis,sa_tmp,cpt);
- (*sa_bis)[cpt] = '\0';
+ *sa_bis = g_strdup(sa_tmp);
}
#endif
@@ -1153,7 +1146,7 @@ filter_spi_match(gchar *spi, gchar *filter)
return FALSE;
}
- for(i = 0; i < strlen(filter); i++)
+ for(i = 0; filter[i]; i++)
{
if((filter[i] != IPSEC_SA_WILDCARDS_ANY) && (filter[i] != spi[i])) return FALSE;
}
@@ -1254,8 +1247,7 @@ compute_ascii_key(gchar **ascii_key, gchar *key)
else
{
key_len = strlen(key);
- *ascii_key = (gchar *) g_malloc ((key_len + 1)* sizeof(gchar));
- memcpy(*ascii_key, key, key_len + 1);
+ *ascii_key = g_strdup(key);
}
}
@@ -1939,12 +1931,10 @@ dissect_esp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* Allocate Buffers for Authenticator Field */
- authenticator_data = (guint8 *) g_malloc (( esp_auth_len + 1) * sizeof(guint8));
- memset(authenticator_data,0, esp_auth_len + 1);
+ authenticator_data = (guint8 *) g_malloc0 (( esp_auth_len + 1) * sizeof(guint8));
tvb_memcpy(tvb, authenticator_data, len - esp_auth_len, esp_auth_len);
- esp_data = (guint8 *) g_malloc (( len - esp_auth_len + 1) * sizeof(guint8));
- memset(esp_data,0, len - esp_auth_len + 1);
+ esp_data = (guint8 *) g_malloc0 (( len - esp_auth_len + 1) * sizeof(guint8));
tvb_memcpy(tvb, esp_data, 0, len - esp_auth_len);
err = gcry_md_open (&md_hd, auth_algo_libgcrypt, GCRY_MD_FLAG_HMAC);
@@ -2387,8 +2377,7 @@ dissect_esp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if(decrypt_using_libgcrypt)
{
/* Allocate Buffers for Encrypted and Decrypted data */
- encrypted_data = (guint8 *) g_malloc ((decrypted_len_alloc) * sizeof(guint8));
- memset(encrypted_data,0,decrypted_len_alloc);
+ encrypted_data = (guint8 *) g_malloc0 ((decrypted_len_alloc) * sizeof(guint8));
decrypted_data = (guint8 *) g_malloc ((decrypted_len_alloc + esp_iv_len)* sizeof(guint8));
tvb_memcpy(tvb, encrypted_data , sizeof(struct newesp), decrypted_len);
diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c
index be79e7a3ec..cdba0f7986 100644
--- a/epan/dissectors/packet-kerberos.c
+++ b/epan/dissectors/packet-kerberos.c
@@ -588,8 +588,7 @@ decrypt_krb5_data(proto_tree *tree, packet_info *pinfo,
printf("woohoo decrypted keytype:%d in frame:%u\n", ek->keytype, pinfo->fd->num);
proto_tree_add_text(tree, NULL, 0, 0, "[Decrypted using: %s]", ek->key_origin);
/* return a private g_malloced blob to the caller */
- user_data=g_malloc(data.length);
- memcpy(user_data, data.data, data.length);
+ user_data=g_memdup(data.data, data.length);
if (datalen) {
*datalen = data.length;
}
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c
index b8a34f89ea..b9be6c675e 100644
--- a/epan/dissectors/packet-ldap.c
+++ b/epan/dissectors/packet-ldap.c
@@ -705,9 +705,7 @@ dissect_ldap_AssertionValue(gboolean implicit_tag, tvbuff_t *tvb, int offset, as
/* convert the string into a printable string */
if(is_ascii){
- ldapvalue_string=ep_alloc(len+1);
- memcpy(ldapvalue_string,str,len);
- ldapvalue_string[i]=0;
+ ldapvalue_string=ep_strndup(str, len);
} else {
ldapvalue_string=ep_alloc(3*len);
for(i=0;i<len;i++){
diff --git a/epan/dissectors/packet-ldp.c b/epan/dissectors/packet-ldp.c
index 83348fec05..5d489e51a2 100644
--- a/epan/dissectors/packet-ldp.c
+++ b/epan/dissectors/packet-ldp.c
@@ -853,11 +853,7 @@ dissect_tlv_fec(tvbuff_t *tvb, guint offset, proto_tree *tree, int rem)
break;
}
- if( (addr=ep_alloc0(addr_size)) == NULL ){
- /*big big trouble, no mem or bad addr_size*/
- fprintf(stderr, "packet-ldp: dissect_tlv_fec() malloc failed\n");
- return;
- }
+ addr=ep_alloc0(addr_size);
for(ax=0; ax+1 <= prefix_len_octets; ax++)
addr[ax]=tvb_get_guint8(tvb, offset+ax);
@@ -930,11 +926,7 @@ dissect_tlv_fec(tvbuff_t *tvb, guint offset, proto_tree *tree, int rem)
break;
}
- if( (addr=ep_alloc0(addr_size)) == NULL ){
- /*big big xtrouble, no mem or bad addr_size*/
- fprintf(stderr, "packet-ldp: dissect_tlv_fec() malloc failed\n");
- return;
- }
+ addr=ep_alloc0(addr_size);
for(ax=0; ax+1 <= host_len; ax++)
addr[ax]=tvb_get_guint8(tvb, offset+ax);
@@ -1149,11 +1141,7 @@ dissect_tlv_address_list(tvbuff_t *tvb, guint offset, proto_tree *tree, int rem)
val_tree=proto_item_add_subtree(ti, ett_ldp_tlv_val);
if(val_tree == NULL) return;
- if( (addr=ep_alloc(addr_size)) == NULL ){
- /*big big trouble*/
- fprintf(stderr, "packet-ldp: dissect_tlv_address_list() malloc failed\n");
- return;
- }
+ addr=ep_alloc(addr_size);
for(ix=1; rem >= addr_size; ix++, offset += addr_size,
rem -= addr_size) {
diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
index db04ea401a..72f0219bea 100644
--- a/epan/dissectors/packet-nfs.c
+++ b/epan/dissectors/packet-nfs.c
@@ -676,8 +676,7 @@ store_nfs_file_handle(nfs_fhandle_data_t *nfs_fh)
fhlen=nfs_fh->len/4;
/* align the file handle data */
- fhdata=g_malloc(fhlen*4);
- memcpy(fhdata, nfs_fh->fh, fhlen*4);
+ fhdata=g_memdup(nfs_fh->fh, fhlen*4);
fhkey[0].length=1;
fhkey[0].key=&fhlen;
fhkey[1].length=fhlen;
@@ -963,8 +962,7 @@ nfs_name_snoop_fh(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int fh_of
fhlen=nns->fh_length;
/* align it */
- fhdata=g_malloc(fhlen);
- memcpy(fhdata, nns->fh, fhlen);
+ fhdata=g_memdup(nns->fh, fhlen);
fhkey[0].length=1;
fhkey[0].key=&fhlen;
fhkey[1].length=fhlen/4;
diff --git a/epan/dissectors/packet-ntlmssp.c b/epan/dissectors/packet-ntlmssp.c
index 0fd4546184..d30d57f0e5 100644
--- a/epan/dissectors/packet-ntlmssp.c
+++ b/epan/dissectors/packet-ntlmssp.c
@@ -1872,8 +1872,7 @@ decrypt_data_payload(tvbuff_t *tvb, int offset, guint32 encrypted_block_length,
packet_ntlmssp_info = p_get_proto_data(pinfo->fd, proto_ntlmssp);
if (packet_ntlmssp_info == NULL) {
/* We don't have any packet state, so create one */
- packet_ntlmssp_info = se_alloc(sizeof(ntlmssp_packet_info));
- memset(packet_ntlmssp_info, 0, sizeof(ntlmssp_packet_info));
+ packet_ntlmssp_info = se_alloc0(sizeof(ntlmssp_packet_info));
p_add_proto_data(pinfo->fd, proto_ntlmssp, packet_ntlmssp_info);
}
if (!packet_ntlmssp_info->payload_decrypted) {
@@ -1947,9 +1946,7 @@ decrypt_data_payload(tvbuff_t *tvb, int offset, guint32 encrypted_block_length,
it's usefull when we have only one key for both conversation
in case of KEY_EXCH we have independant key so this is not needed*/
if( !(NTLMSSP_NEGOTIATE_KEY_EXCH & conv_ntlmssp_info->flags)) {
- peer_block = ep_alloc(encrypted_block_length);
- memcpy(peer_block, packet_ntlmssp_info->decrypted_payload,
- encrypted_block_length);
+ peer_block = ep_memdup(packet_ntlmssp_info->decrypted_payload, encrypted_block_length);
crypt_rc4(rc4_state_peer, peer_block, encrypted_block_length);
}
@@ -2169,9 +2166,7 @@ decrypt_verifier(tvbuff_t *tvb, int offset, guint32 encrypted_block_length,
This is not needed when we just have EXTENDED SECURITY because the signature is not crypted
and it's also not needed when we have key exchange because server and client have independant keys */
if( !(NTLMSSP_NEGOTIATE_KEY_EXCH & conv_ntlmssp_info->flags) && !(NTLMSSP_NEGOTIATE_EXTENDED_SECURITY & conv_ntlmssp_info->flags)) {
- peer_block = ep_alloc(encrypted_block_length);
- memcpy(peer_block, packet_ntlmssp_info->verifier,
- encrypted_block_length);
+ peer_block = ep_memdup(packet_ntlmssp_info->verifier, encrypted_block_length);
crypt_rc4(rc4_state_peer, peer_block, encrypted_block_length);
}
@@ -2380,8 +2375,7 @@ dissect_ntlmssp_encrypted_payload(tvbuff_t *data_tvb,
packet_ntlmssp_info = p_get_proto_data(pinfo->fd, proto_ntlmssp);
if (packet_ntlmssp_info == NULL) {
/ * We don't have any packet state, so create one * /
- packet_ntlmssp_info = se_alloc(sizeof(ntlmssp_packet_info));
- memset(packet_ntlmssp_info, 0, sizeof(ntlmssp_packet_info));
+ packet_ntlmssp_info = se_alloc0(sizeof(ntlmssp_packet_info));
p_add_proto_data(pinfo->fd, proto_ntlmssp, packet_ntlmssp_info);
}
@@ -2430,9 +2424,7 @@ dissect_ntlmssp_encrypted_payload(tvbuff_t *data_tvb,
/ * We setup a temporary buffer so we can re-encrypt the payload after
decryption. This is to update the opposite peer's RC4 state * /
- peer_block = ep_alloc(encrypted_block_length);
- memcpy(peer_block, packet_ntlmssp_info->decrypted_payload,
- encrypted_block_length);
+ peer_block = ep_memdup(packet_ntlmssp_info->decrypted_payload, encrypted_block_length);
crypt_rc4(rc4_state_peer, peer_block, encrypted_block_length);
packet_ntlmssp_info->payload_decrypted = TRUE;
diff --git a/epan/dissectors/packet-per.c b/epan/dissectors/packet-per.c
index 83e70ca821..e680b2f6da 100644
--- a/epan/dissectors/packet-per.c
+++ b/epan/dissectors/packet-per.c
@@ -1018,8 +1018,7 @@ DEBUG_ENTRY("dissect_per_boolean");
if(hf_index!=-1){
char *str;
hfi = proto_registrar_get_nth(hf_index);
- str=ep_alloc(256);
- g_snprintf(str, 256, "%c%c%c%c %c%c%c%c %s: %s",
+ str=ep_strdup_printf("%c%c%c%c %c%c%c%c %s: %s",
mask&0x80?'0'+value:'.',
mask&0x40?'0'+value:'.',
mask&0x20?'0'+value:'.',
diff --git a/epan/dissectors/packet-pvfs2.c b/epan/dissectors/packet-pvfs2.c
index 969d2dba16..a0462ae558 100644
--- a/epan/dissectors/packet-pvfs2.c
+++ b/epan/dissectors/packet-pvfs2.c
@@ -3089,12 +3089,10 @@ pvfs2_io_tracking_new_with_tag(guint64 tag, guint32 num)
pvfs2_io_tracking_value_t *value;
pvfs2_io_tracking_key_t *newkey;
- newkey = (pvfs2_io_tracking_key_t *) se_alloc(sizeof(*newkey));
- memset(newkey, 0, sizeof(*newkey));
+ newkey = (pvfs2_io_tracking_key_t *) se_alloc0(sizeof(*newkey));
newkey->tag = tag;
- value = se_alloc(sizeof(*value));
- memset(value, 0, sizeof(*value));
+ value = se_alloc0(sizeof(*value));
g_hash_table_insert(pvfs2_io_tracking_value_table, newkey, value);
diff --git a/epan/dissectors/packet-rdt.c b/epan/dissectors/packet-rdt.c
index 35befe734f..7352305e52 100644
--- a/epan/dissectors/packet-rdt.c
+++ b/epan/dissectors/packet-rdt.c
@@ -1288,8 +1288,7 @@ static void show_setup_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Save this conversation info into packet info */
p_conv_packet_data = se_alloc(sizeof(struct _rdt_conversation_info));
- g_snprintf(p_conv_packet_data->method, MAX_RDT_SETUP_METHOD_SIZE, "%s", p_conv_data->method);
- p_conv_packet_data->method[MAX_RDT_SETUP_METHOD_SIZE]=0;
+ g_strlcpy(p_conv_packet_data->method, p_conv_data->method, MAX_RDT_SETUP_METHOD_SIZE);
p_conv_packet_data->frame_number = p_conv_data->frame_number;
p_conv_packet_data->feature_level = p_conv_data->feature_level;
p_add_proto_data(pinfo->fd, proto_rdt, p_conv_packet_data);
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index 421394fb28..76113a4996 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -354,7 +354,6 @@ rpc_proc_name(guint32 prog, guint32 vers, guint32 proc)
rpc_proc_info_value *value;
char *procname;
- procname=ep_alloc(20);
key.prog = prog;
key.vers = vers;
key.proc = proc;
@@ -364,7 +363,7 @@ rpc_proc_name(guint32 prog, guint32 vers, guint32 proc)
else {
/* happens only with strange program versions or
non-existing dissectors */
- g_snprintf(procname, 20, "proc-%u", key.proc);
+ procname = ep_strdup_printf("proc-%u", key.proc);
}
return procname;
}
@@ -1564,16 +1563,14 @@ dissect_rpc_indir_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
procname = (char *)rpc_call->proc_info->name;
}
else {
- procname=ep_alloc(20);
- g_snprintf(procname, 20, "proc-%u", rpc_call->proc);
+ procname=ep_strdup_printf("proc-%u", rpc_call->proc);
}
}
else {
#if 0
dissect_function = NULL;
#endif
- procname=ep_alloc(20);
- g_snprintf(procname, 20, "proc-%u", rpc_call->proc);
+ procname=ep_strdup_printf("proc-%u", rpc_call->proc);
}
if ( tree )
@@ -2007,8 +2004,7 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
#if 0
dissect_function = NULL;
#endif
- procname=ep_alloc(20);
- g_snprintf(procname, 20, "proc-%u", proc);
+ procname=ep_strdup_printf("proc-%u", proc);
}
/* Check for RPCSEC_GSS and AUTH_GSSAPI */
@@ -2235,16 +2231,14 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
procname = (char *)rpc_call->proc_info->name;
}
else {
- procname=ep_alloc(20);
- g_snprintf(procname, 20, "proc-%u", proc);
+ procname=ep_strdup_printf("proc-%u", proc);
}
}
else {
#if 0
dissect_function = NULL;
#endif
- procname=ep_alloc(20);
- g_snprintf(procname, 20, "proc-%u", proc);
+ procname=ep_strdup_printf("proc-%u", proc);
}
/*
diff --git a/epan/dissectors/packet-rtmpt.c b/epan/dissectors/packet-rtmpt.c
index e71723e440..ced02bc46f 100644
--- a/epan/dissectors/packet-rtmpt.c
+++ b/epan/dissectors/packet-rtmpt.c
@@ -335,8 +335,7 @@ dissect_rtmpt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
conversation_data = (rtmpt_conversation_data_t*)conversation_get_proto_data(current_conversation, proto_rtmpt);
if (NULL == conversation_data)
{
- conversation_data = se_alloc(sizeof(rtmpt_conversation_data_t));
- memset((void*)conversation_data, 0, sizeof(rtmpt_conversation_data_t));
+ conversation_data = se_alloc0(sizeof(rtmpt_conversation_data_t));
conversation_add_proto_data(current_conversation, proto_rtmpt, conversation_data);
conversation_data->current_chunks = g_hash_table_new(g_direct_hash, g_direct_equal);
conversation_data->previous_frame_number = -1;
@@ -347,8 +346,7 @@ dissect_rtmpt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
packet_data = p_get_proto_data(pinfo->fd, proto_rtmpt);
if (NULL == packet_data)
{
- packet_data = se_alloc(sizeof(rtmpt_packet_data_t));
- memset((void*)packet_data, 0, sizeof(rtmpt_packet_data_t));
+ packet_data = se_alloc0(sizeof(rtmpt_packet_data_t));
p_add_proto_data(pinfo->fd, proto_rtmpt, packet_data);
packet_data->initial_chunks = g_hash_table_new(g_direct_hash, g_direct_equal);
packet_data->initial_chunk_size = conversation_data->current_chunk_size;
@@ -398,8 +396,7 @@ dissect_rtmpt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
iCommand = tvb_get_guint8(tvb, offset + 7);
if (NULL == current_chunk_data)
{
- current_chunk_data = se_alloc(sizeof(rtmpt_chunk_data_t));
- memset((void*)current_chunk_data, 0, sizeof(rtmpt_chunk_data_t));
+ current_chunk_data = se_alloc0(sizeof(rtmpt_chunk_data_t));
g_hash_table_insert(conversation_data->current_chunks, GUINT_TO_POINTER(rtmp_index), current_chunk_data);
}
@@ -563,8 +560,7 @@ get_rtmpt_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
conversation_data = (rtmpt_conversation_data_t*)conversation_get_proto_data(current_conversation, proto_rtmpt);
if (NULL == conversation_data)
{
- conversation_data = se_alloc(sizeof(rtmpt_conversation_data_t));
- memset((void*)conversation_data, 0, sizeof(rtmpt_conversation_data_t));
+ conversation_data = se_alloc0(sizeof(rtmpt_conversation_data_t));
conversation_add_proto_data(current_conversation, proto_rtmpt, conversation_data);
conversation_data->current_chunks = g_hash_table_new(g_direct_hash, g_direct_equal);
conversation_data->previous_frame_number = -1;
@@ -580,8 +576,7 @@ get_rtmpt_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
packet_data = p_get_proto_data(pinfo->fd, proto_rtmpt);
if (NULL == packet_data)
{
- packet_data = se_alloc(sizeof(rtmpt_packet_data_t));
- memset((void*)packet_data, 0, sizeof(rtmpt_packet_data_t));
+ packet_data = se_alloc0(sizeof(rtmpt_packet_data_t));
p_add_proto_data(pinfo->fd, proto_rtmpt, packet_data);
packet_data->initial_chunks = g_hash_table_new(g_direct_hash, g_direct_equal);
packet_data->initial_chunk_size = conversation_data->current_chunk_size;
@@ -642,14 +637,12 @@ get_rtmpt_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
if (NULL == current_chunk_data)
{
- current_chunk_data = se_alloc(sizeof(rtmpt_chunk_data_t));
- memset((void*)current_chunk_data, 0, sizeof(rtmpt_chunk_data_t));
+ current_chunk_data = se_alloc0(sizeof(rtmpt_chunk_data_t));
g_hash_table_insert(conversation_data->current_chunks, GUINT_TO_POINTER(rtmp_index), current_chunk_data);
}
else if (NULL == initial_chunk_data)
{
- initial_chunk_data = se_alloc(sizeof(rtmpt_chunk_data_t));
- memset((void*)initial_chunk_data, 0, sizeof(rtmpt_chunk_data_t));
+ initial_chunk_data = se_alloc0(sizeof(rtmpt_chunk_data_t));
g_hash_table_insert(packet_data->initial_chunks, GUINT_TO_POINTER(rtmp_index), initial_chunk_data);
initial_chunk_data->amf_num = current_chunk_data->amf_num;
initial_chunk_data->length_remaining = current_chunk_data->length_remaining;
@@ -692,8 +685,7 @@ get_rtmpt_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
if (NULL == initial_chunk_data)
{
- initial_chunk_data = se_alloc(sizeof(rtmpt_chunk_data_t));
- memset((void*)initial_chunk_data, 0, sizeof(rtmpt_chunk_data_t));
+ initial_chunk_data = se_alloc0(sizeof(rtmpt_chunk_data_t));
g_hash_table_insert(packet_data->initial_chunks, GUINT_TO_POINTER(rtmp_index), initial_chunk_data);
initial_chunk_data->amf_num = current_chunk_data->amf_num;
initial_chunk_data->length_remaining = current_chunk_data->length_remaining;
diff --git a/epan/dissectors/packet-rtsp.c b/epan/dissectors/packet-rtsp.c
index 092f25d945..f040549e84 100644
--- a/epan/dissectors/packet-rtsp.c
+++ b/epan/dissectors/packet-rtsp.c
@@ -1129,9 +1129,7 @@ process_rtsp_request(tvbuff_t *tvb, int offset, const guchar *data,
while (url < lineend && !isspace(*url))
url++;
/* Create a URL-sized buffer and copy contents */
- tmp_url = ep_alloc(url - url_start + 1);
- memcpy(tmp_url, url_start, url - url_start);
- tmp_url[url - url_start] = '\0';
+ tmp_url = ep_strndup(url_start, url - url_start);
/* Add URL to tree */
proto_tree_add_string(sub_tree, hf_rtsp_url, tvb,
diff --git a/epan/dissectors/packet-smb-sidsnooping.c b/epan/dissectors/packet-smb-sidsnooping.c
index a77a294753..dfbcf4c935 100644
--- a/epan/dissectors/packet-smb-sidsnooping.c
+++ b/epan/dissectors/packet-smb-sidsnooping.c
@@ -148,8 +148,7 @@ samr_query_dispinfo(void *dummy _U_, packet_info *pinfo, epan_dissect_t *edt, co
g_hash_table_remove(ctx_handle_table, GINT_TO_POINTER(pinfo->fd->num));
}
if(!old_ctx){
- old_ctx=se_alloc(20);
- memcpy(old_ctx, fi->value.value.bytes->data, 20);
+ old_ctx=se_memdup(fi->value.value.bytes->data, 20);
}
g_hash_table_insert(ctx_handle_table, GINT_TO_POINTER(pinfo->fd->num), old_ctx);
diff --git a/epan/dissectors/packet-smpp.c b/epan/dissectors/packet-smpp.c
index 74a0c2a203..975d346e39 100644
--- a/epan/dissectors/packet-smpp.c
+++ b/epan/dissectors/packet-smpp.c
@@ -1435,8 +1435,7 @@ smpp_handle_tlv(proto_tree *tree, tvbuff_t *tvb, int *offset)
field = tvb_get_guint8(tvb, *offset);
minor = field & 0x0F;
major = (field & 0xF0) >> 4;
- strval=ep_alloc(BUFSIZ);
- g_snprintf(strval, BUFSIZ, "%u.%u", major, minor);
+ strval=ep_strdup_printf("%u.%u", major, minor);
proto_tree_add_string(sub_tree, hf_smpp_SC_interface_version,
tvb, *offset, 1, strval);
(*offset)++;
@@ -1761,14 +1760,13 @@ bind_receiver(proto_tree *tree, tvbuff_t *tvb)
guint8 major, minor;
char *strval;
- strval=ep_alloc(BUFSIZ);
smpp_handle_string(tree, tvb, hf_smpp_system_id, &offset);
smpp_handle_string(tree, tvb, hf_smpp_password, &offset);
smpp_handle_string(tree, tvb, hf_smpp_system_type, &offset);
field = tvb_get_guint8(tvb, offset++);
minor = field & 0x0F;
major = (field & 0xF0) >> 4;
- g_snprintf(strval, BUFSIZ, "%u.%u", major, minor);
+ strval=ep_strdup_printf("%u.%u", major, minor);
proto_tree_add_string(tree, hf_smpp_interface_version, tvb,
offset - 1, 1, strval);
smpp_handle_int1(tree, tvb, hf_smpp_addr_ton, &offset);
diff --git a/epan/dissectors/packet-spnego.c b/epan/dissectors/packet-spnego.c
index e2f6c1bd20..0f43d25f9f 100644
--- a/epan/dissectors/packet-spnego.c
+++ b/epan/dissectors/packet-spnego.c
@@ -1218,8 +1218,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree _U_, packet_info *pinfo _U_, tvbuff
if (output) {
char *outdata;
- outdata = g_malloc(tvb_length(tvb));
- memcpy(outdata, output, tvb_length(tvb));
+ outdata = g_memdup(output, tvb_length(tvb));
g_free(output);
pinfo->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb,
diff --git a/epan/dissectors/packet-ssl-utils.c b/epan/dissectors/packet-ssl-utils.c
index 7ee6b66cd1..0e457e6545 100644
--- a/epan/dissectors/packet-ssl-utils.c
+++ b/epan/dissectors/packet-ssl-utils.c
@@ -2781,8 +2781,7 @@ ssl_association_add(GTree* associations, dissector_handle_t handle, guint port,
assoc->tcp = tcp;
assoc->ssl_port = port;
- assoc->info=g_malloc(strlen(protocol)+1);
- g_strlcpy(assoc->info, protocol, strlen(protocol)+1);
+ assoc->info=g_strdup(protocol);
assoc->handle = find_dissector(protocol);
assoc->from_key_list = from_key_list;
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
index 2976748ad8..f411d3a258 100644
--- a/epan/dissectors/packet-tcp.c
+++ b/epan/dissectors/packet-tcp.c
@@ -251,20 +251,22 @@ process_tcp_payload(tvbuff_t *tvb, volatile int offset, packet_info *pinfo,
struct tcp_analysis *
init_tcp_conversation_data(packet_info *pinfo)
{
- struct tcp_analysis *tcpd=NULL;
+ struct tcp_analysis *tcpd;
/* Initialize the tcp protocol datat structure to add to the tcp conversation */
tcpd=se_alloc0(sizeof(struct tcp_analysis));
- memset(&tcpd->flow1, 0, sizeof(tcp_flow_t));
- memset(&tcpd->flow2, 0, sizeof(tcp_flow_t));
tcpd->flow1.win_scale=-1;
tcpd->flow1.multisegment_pdus=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "tcp_multisegment_pdus");
+ /*
tcpd->flow1.username = NULL;
tcpd->flow1.command = NULL;
+ */
tcpd->flow2.win_scale=-1;
tcpd->flow2.multisegment_pdus=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "tcp_multisegment_pdus");
+ /*
tcpd->flow2.username = NULL;
tcpd->flow2.command = NULL;
+ */
tcpd->acked_table=se_tree_create_non_persistent(EMEM_TREE_TYPE_RED_BLACK, "tcp_analyze_acked_table");
tcpd->ts_first.secs=pinfo->fd->abs_ts.secs;
tcpd->ts_first.nsecs=pinfo->fd->abs_ts.nsecs;
@@ -291,7 +293,7 @@ struct tcp_analysis *
get_tcp_conversation_data(conversation_t *conv, packet_info *pinfo)
{
int direction;
- struct tcp_analysis *tcpd=NULL;
+ struct tcp_analysis *tcpd;
/* Did the caller supply the conversation pointer? */
if( conv==NULL )
@@ -2327,7 +2329,7 @@ dissect_tcpopt_scps(const ip_tcp_opt *optp, tvbuff_t *tvb,
int offset, guint optlen, packet_info *pinfo,
proto_tree *opt_tree)
{
- struct tcp_analysis *tcpd=NULL;
+ struct tcp_analysis *tcpd;
proto_tree *field_tree = NULL;
tcp_flow_t *flow;
int direction;
diff --git a/epan/dissectors/packet-tpncp.c b/epan/dissectors/packet-tpncp.c
index 18850a173e..e8426c16d0 100644
--- a/epan/dissectors/packet-tpncp.c
+++ b/epan/dissectors/packet-tpncp.c
@@ -56,7 +56,6 @@
#define BASE_TPNCP_DATA_LEN 256
#define MAX_TPNCP_DAT_FILE_PATH_LEN BASE_TPNCP_DATA_LEN
#define MAX_TPNCP_DB_ENTRY_LEN BASE_TPNCP_DATA_LEN
-#define MAX_TPNCP_HEADER_LEN BASE_TPNCP_DATA_LEN
#define MAX_TPNCP_DB_SIZE 3000
#define MAX_ENUMS_NUM 500
@@ -253,7 +252,7 @@ static void dissect_tpncp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
gint offset = 0;
guint32 id, cid = 0;
guint16 seq_number, len, ver, reserved;
- gchar *tpncp_header = NULL;
+ gchar *tpncp_header;
ver = tvb_get_ntohs(tvb, 0);
len = tvb_get_ntohs(tvb, 2);
@@ -289,16 +288,13 @@ static void dissect_tpncp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
proto_tree_add_uint(tpncp_tree, hf_tpncp_seq_number, tvb, 4, 2, seq_number);
proto_tree_add_uint(tpncp_tree, hf_tpncp_reserved, tvb, 6, 2, reserved);
- tpncp_header = ep_alloc(MAX_TPNCP_HEADER_LEN);
- tpncp_header[0] = 0;
-
if (pinfo->srcport == UDP_PORT_TPNCP_TRUNKPACK) {
if (match_strval(id, tpncp_events_id_vals)) {
proto_tree_add_uint(tpncp_tree, hf_tpncp_event_id, tvb, 8, 4, id);
proto_tree_add_int(tpncp_tree, hf_tpncp_cid, tvb, 12, 4, cid);
offset += 16;
if (tpncp_events_info_db[id].tpncp_data_field_size) {
- g_snprintf(tpncp_header, MAX_TPNCP_HEADER_LEN, "TPNCP Event: %s (%d)", val_to_str(id, tpncp_events_id_vals, "Unknown"), id);
+ tpncp_header = ep_strdup_printf("TPNCP Event: %s (%d)", val_to_str(id, tpncp_events_id_vals, "Unknown"), id);
tpncp_item = proto_tree_add_text(tree, tvb, offset, -1, "%s", tpncp_header);
dissect_tpncp_event(id, tvb, tpncp_item, &offset);
}
@@ -309,7 +305,7 @@ static void dissect_tpncp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
proto_tree_add_uint(tpncp_tree, hf_tpncp_command_id, tvb, 8, 4, id);
offset += 12;
if (tpncp_commands_info_db[id].tpncp_data_field_size) {
- g_snprintf(tpncp_header, MAX_TPNCP_HEADER_LEN, "TPNCP Command: %s (%d)", val_to_str(id, tpncp_commands_id_vals, "Unknown"), id);
+ tpncp_header = ep_strdup_printf("TPNCP Command: %s (%d)", val_to_str(id, tpncp_commands_id_vals, "Unknown"), id);
tpncp_item = proto_tree_add_text(tree, tvb, offset, -1, "%s", tpncp_header);
dissect_tpncp_command(id, tvb, tpncp_item, &offset);
}
diff --git a/epan/dissectors/packet-udp.c b/epan/dissectors/packet-udp.c
index bf483de062..07441384d5 100644
--- a/epan/dissectors/packet-udp.c
+++ b/epan/dissectors/packet-udp.c
@@ -107,16 +107,16 @@ static gboolean try_heuristic_first = FALSE;
static struct udp_analysis *
init_udp_conversation_data(void)
{
- struct udp_analysis *udpd=NULL;
+ struct udp_analysis *udpd;
/* Initialize the udp protocol data structure to add to the udp conversation */
udpd = se_alloc0(sizeof(struct udp_analysis));
- memset(&udpd->flow1, 0, sizeof(udp_flow_t));
- memset(&udpd->flow2, 0, sizeof(udp_flow_t));
+ /*
udpd->flow1.username = NULL;
udpd->flow1.command = NULL;
udpd->flow2.username = NULL;
udpd->flow2.command = NULL;
+ */
return udpd;
}
diff --git a/epan/dissectors/packet-uts.c b/epan/dissectors/packet-uts.c
index 42b42eb339..90337cad6d 100644
--- a/epan/dissectors/packet-uts.c
+++ b/epan/dissectors/packet-uts.c
@@ -114,7 +114,6 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
proto_item *ti;
int length;
gchar rid = 0, sid = 0, did = 0;
- gchar *msg_msg;
int offset = 0;
int header_length = -1;
int ack_start = 0;
@@ -132,9 +131,6 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
enum { NOTRAFFIC, OTHER } msg_type = OTHER;
- msg_msg = ep_alloc(MAX_POLL_TYPE_MSG_SIZE);
- msg_msg[0] = 0;
-
if (check_col(pinfo->cinfo, COL_PROTOCOL)) /* set the protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "UTS");
@@ -142,7 +138,7 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, 1, MATCH, EOT, NULL) &&
testchar(tvb, pinfo, 2, MATCH, ETX, NULL)) {
msg_type = NOTRAFFIC;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "No Traffic");
+ col_add_str(pinfo->cinfo, COL_INFO, "No Traffic");
} else {
if (testchar(tvb, pinfo, 0, MATCH, SOH, NULL) &&
testchar(tvb, pinfo, 1, FETCH, 0, (gchar *)&rid) &&
@@ -150,23 +146,23 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, 3, FETCH, 0, (gchar *)&did)) {
offset = 4;
if (testchar(tvb, pinfo, offset, MATCH, ETX, NULL)) {
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "General Poll");
+ col_add_str(pinfo->cinfo, COL_INFO, "General Poll");
set_addr(pinfo, DST, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, '1', NULL) &&
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL)) {
ack_start = offset;
if (sid == GSID && did == GDID) {
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "General Poll + ACK");
+ col_add_str(pinfo->cinfo, COL_INFO, "General Poll + ACK");
set_addr(pinfo, DST, rid, sid, did);
} else if (sid != GSID && did == GDID) {
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Specific Poll + ACK");
+ col_add_str(pinfo->cinfo, COL_INFO, "Specific Poll + ACK");
set_addr(pinfo, DST, rid, sid, did);
} else if (sid != GSID && did != GDID) {
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "No Traffic + ACK");
+ col_add_str(pinfo->cinfo, COL_INFO, "No Traffic + ACK");
set_addr(pinfo, SRC, rid, sid, did);
} else {
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Unknown Message Format");
+ col_add_str(pinfo->cinfo, COL_INFO, "Unknown Message Format");
if ((pinfo->pseudo_header->sita.flags & SITA_FRAME_DIR) == SITA_FRAME_DIR_TXED) {
set_addr(pinfo, DST, rid, sid, did); /* if the ACN sent it, the address is of the destination... the terminal */
} else {
@@ -178,14 +174,14 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL) &&
sid != GSID && did == GDID) {
nak_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Retransmit Request");
+ col_add_str(pinfo->cinfo, COL_INFO, "Retransmit Request");
set_addr(pinfo, DST, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, BEL, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, STX, NULL) &&
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL)) {
header_length = offset+2;
msgwaiting_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Message Waiting");
+ col_add_str(pinfo->cinfo, COL_INFO, "Message Waiting");
set_addr(pinfo, DST, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, '1', NULL) &&
@@ -193,12 +189,12 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
ack_start = offset;
header_length = offset+3;
stx_start = offset+2;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Text + ACK");
+ col_add_str(pinfo->cinfo, COL_INFO, "Text + ACK");
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, STX, NULL)) {
header_length = offset+1;
stx_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Text");
+ col_add_str(pinfo->cinfo, COL_INFO, "Text");
if ((pinfo->pseudo_header->sita.flags & SITA_FRAME_DIR) == SITA_FRAME_DIR_TXED) {
set_addr(pinfo, DST, rid, sid, did); /* if the ACN sent it, the address is of the destination... the terminal */
} else {
@@ -208,19 +204,19 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, offset+1, MATCH, ENQ, NULL) &&
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL)) {
replyrequest_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Reply Request");
+ col_add_str(pinfo->cinfo, COL_INFO, "Reply Request");
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, '?', NULL) &&
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL)) {
busy_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Busy");
+ col_add_str(pinfo->cinfo, COL_INFO, "Busy");
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, ';', NULL) &&
testchar(tvb, pinfo, offset+2, MATCH, ETX, NULL)) {
notbusy_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Not Busy");
+ col_add_str(pinfo->cinfo, COL_INFO, "Not Busy");
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, '1', NULL) &&
@@ -229,7 +225,7 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, offset+4, MATCH, ETX, NULL)) {
notbusy_start = offset+2;
ack_start = offset;
- g_snprintf(msg_msg, MAX_POLL_TYPE_MSG_SIZE, "Not Busy + ACK");
+ col_add_str(pinfo->cinfo, COL_INFO, "Not Busy + ACK");
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, MATCH, DLE, NULL) &&
testchar(tvb, pinfo, offset+1, MATCH, '1', NULL) &&
@@ -237,20 +233,16 @@ dissect_uts(tvbuff_t *tvb, packet_info *pinfo _U_ , proto_tree *tree)
testchar(tvb, pinfo, offset+3, MATCH, ETX, NULL)) {
ack_start = offset;
function_start = offset + 2;
- if (check_col(pinfo->cinfo, COL_INFO))
- col_add_fstr(pinfo->cinfo, COL_INFO, "Function Message '%c' + ACK", function_code);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Function Message '%c' + ACK", function_code);
set_addr(pinfo, SRC, rid, sid, did);
} else if (testchar(tvb, pinfo, offset, FETCH, 0, &function_code) &&
testchar(tvb, pinfo, offset+1, MATCH, ETX, NULL)) {
function_start = offset;
- if (check_col(pinfo->cinfo, COL_INFO))
- col_add_fstr(pinfo->cinfo, COL_INFO, "Function Message '%c'", function_code);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Function Message '%c'", function_code);
set_addr(pinfo, SRC, rid, sid, did);
}
}
}
- if ((check_col(pinfo->cinfo, COL_INFO)) && strlen(msg_msg))
- col_add_str(pinfo->cinfo, COL_INFO, msg_msg);
while (tvb_length_remaining(tvb, offset)) { /* now look for the ETX */
if ((tvb_get_guint8(tvb, offset) & 0x7f) == ETX) {
diff --git a/epan/dissectors/packet-wbxml.c b/epan/dissectors/packet-wbxml.c
index cab7f86562..4204d94966 100644
--- a/epan/dissectors/packet-wbxml.c
+++ b/epan/dissectors/packet-wbxml.c
@@ -7630,8 +7630,7 @@ parse_wbxml_tag (proto_tree *tree, tvbuff_t *tvb, guint32 offset,
tag_new_known = 0; /* invalidate known tag_new */
} else { /* Known tag */
tag_new_known = peek & 0x3F;
- tag_new_buf=ep_alloc(10);
- g_snprintf (tag_new_buf, 10, "Tag_0x%02X",
+ tag_new_buf=ep_strdup_printf("Tag_0x%02X",
tag_new_known);
tag_new_literal = tag_new_buf;
/* Stored looked up tag name string */
@@ -7659,8 +7658,7 @@ parse_wbxml_tag (proto_tree *tree, tvbuff_t *tvb, guint32 offset,
tag_save_known = 0;
} else { /* Known tag */
tag_save_known = tag_new_known;
- tag_save_buf=ep_alloc(10);
- g_snprintf (tag_save_buf, 10, "Tag_0x%02X",
+ tag_save_buf=ep_strdup_printf("Tag_0x%02X",
tag_new_known);
tag_save_literal = tag_save_buf;
/* The last statement avoids needless lookups */
diff --git a/epan/dissectors/packet-wccp.c b/epan/dissectors/packet-wccp.c
index 165b9ccd99..d6645caa2d 100644
--- a/epan/dissectors/packet-wccp.c
+++ b/epan/dissectors/packet-wccp.c
@@ -389,13 +389,12 @@ wccp_bucket_info(guint8 bucket_info, proto_tree *bucket_tree, guint32 start,
static gchar *
bucket_name(guint8 bucket)
{
- gchar *cur=NULL;
+ gchar *cur;
if (bucket == 0xff) {
cur="Unassigned";
} else {
- cur=ep_alloc(10+1);
- g_snprintf(cur, 10+1, "%u", bucket);
+ cur=ep_strdup_printf("%u", bucket);
}
return cur;
}
@@ -979,13 +978,12 @@ dissect_wccp2_router_assignment_element(tvbuff_t *tvb, int offset,
static gchar *
assignment_bucket_name(guint8 bucket)
{
- gchar *cur=NULL;
+ gchar *cur;
if (bucket == 0xff) {
cur="Unassigned";
} else {
- cur=ep_alloc(10+1);
- g_snprintf(cur, 10+1, "%u%s", bucket >> 1,
+ cur=ep_strdup_printf("%u%s", bucket >> 1,
(bucket & 0x01) ? " (Alt)" : "");
}
return cur;
diff --git a/epan/dissectors/packet-x11.c b/epan/dissectors/packet-x11.c
index b760e3c9cc..3ca73d4684 100644
--- a/epan/dissectors/packet-x11.c
+++ b/epan/dissectors/packet-x11.c
@@ -1695,7 +1695,6 @@ keycode2keysymString(int *keycodemap[256], int first_keycode,
int keycodes_per_modifier,
guint32 keycode, guint32 bitmask)
{
- static char *buf;
int *syms;
int groupmodkc, numlockkc, numlockmod, groupmod;
int lockmod_is_capslock = 0, lockmod_is_shiftlock = 0;
@@ -1865,9 +1864,7 @@ keycode2keysymString(int *keycodemap[256], int first_keycode,
if (keysym == XK_VoidSymbol)
keysym = NoSymbol;
- buf=ep_alloc(32);
- g_snprintf(buf, 32, "%d, \"%s\"", keysym, keysymString(keysym));
- return buf;
+ return ep_strdup_printf("%d, \"%s\"", keysym, keysymString(keysym));
#endif
}
diff --git a/epan/dissectors/packet-x25.c b/epan/dissectors/packet-x25.c
index 9a5782c2e5..f921529163 100644
--- a/epan/dissectors/packet-x25.c
+++ b/epan/dissectors/packet-x25.c
@@ -290,8 +290,6 @@ x25_hash_add_proto_end(guint16 vc, guint32 frame)
static const char *clear_code(unsigned char code)
{
- static char *buffer;
-
if (code == 0x00 || (code & 0x80) == 0x80)
return "DTE Originated";
if (code == 0x01)
@@ -321,16 +319,11 @@ static const char *clear_code(unsigned char code)
if (code == 0x39)
return "Destination Absent";
- buffer=ep_alloc(32);
- g_snprintf(buffer, 32, "Unknown %02X", code);
-
- return buffer;
+ return ep_strdup_printf("Unknown %02X", code);
}
static const char *clear_diag(unsigned char code)
{
- static char *buffer;
-
if (code == 0)
return "No additional information";
if (code == 1)
@@ -549,16 +542,11 @@ static const char *clear_diag(unsigned char code)
if (code == 250)
return "Reset - user resynchronization";
- buffer=ep_alloc(32);
- g_snprintf(buffer, 32, "Unknown %d", code);
-
- return buffer;
+ return ep_strdup_printf("Unknown %d", code);
}
static const char *reset_code(unsigned char code)
{
- static char *buffer;
-
if (code == 0x00 || (code & 0x80) == 0x80)
return "DTE Originated";
if (code == 0x01)
@@ -578,16 +566,11 @@ static const char *reset_code(unsigned char code)
if (code == 0x1D)
return "Network out of order";
- buffer=ep_alloc(32);
- g_snprintf(buffer, 32, "Unknown %02X", code);
-
- return buffer;
+ return ep_strdup_printf("Unknown %02X", code);
}
static const char *restart_code(unsigned char code)
{
- static char *buffer;
-
if (code == 0x00 || (code & 0x80) == 0x80)
return "DTE Originated";
if (code == 0x01)
@@ -599,16 +582,11 @@ static const char *restart_code(unsigned char code)
if (code == 0x7F)
return "Registration/cancellation confirmed";
- buffer=ep_alloc(32);
- g_snprintf(buffer, 32, "Unknown %02X", code);
-
- return buffer;
+ return ep_strdup_printf("Unknown %02X", code);
}
static const char *registration_code(unsigned char code)
{
- static char *buffer;
-
if (code == 0x03)
return "Invalid facility request";
if (code == 0x05)
@@ -618,10 +596,7 @@ static const char *registration_code(unsigned char code)
if (code == 0x7F)
return "Registration/cancellation confirmed";
- buffer=ep_alloc(32);
- g_snprintf(buffer, 32, "Unknown %02X", code);
-
- return buffer;
+ return ep_strdup_printf("Unknown %02X", code);
}
static void
diff --git a/epan/dissectors/packet-xtp.c b/epan/dissectors/packet-xtp.c
index 1c153c078a..88b9586bb7 100644
--- a/epan/dissectors/packet-xtp.c
+++ b/epan/dissectors/packet-xtp.c
@@ -657,8 +657,7 @@ dissect_xtp_ecntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
return;
}
/* spans(16n) */
- spans = ep_alloc(spans_len);
- memset(spans, 0, spans_len);
+ spans = ep_alloc0(spans_len);
p = spans;
for (i = 0; i < ecntl->nspan*2; i++) {
guint64 span = tvb_get_ntohl(tvb, offset);