aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-nbns.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2005-10-27 09:58:16 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2005-10-27 09:58:16 +0000
commit427eedf60341ce02b22c06730f60bb8491c5c680 (patch)
tree870d1771faba8c03acc945f9694a9a92a505b54e /epan/dissectors/packet-nbns.c
parentaabec2638ee6823ee67eecad3bb91dbcecd5c20c (diff)
remove some strcpy
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@16341 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-nbns.c')
-rw-r--r--epan/dissectors/packet-nbns.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/epan/dissectors/packet-nbns.c b/epan/dissectors/packet-nbns.c
index bd0f439d88..f482a34c28 100644
--- a/epan/dissectors/packet-nbns.c
+++ b/epan/dissectors/packet-nbns.c
@@ -299,8 +299,7 @@ get_nbns_name(tvbuff_t *tvb, int offset, int nbns_data_offset,
break; /* scope ID follows */
if (cname < 'A' || cname > 'Z') {
/* Not legal. */
- strcpy(nbname,
- "Illegal NetBIOS name (character not between A and Z in first-level encoding)");
+ nbname="Illegal NetBIOS name (character not between A and Z in first-level encoding)";
goto bad;
}
cname -= 'A';
@@ -311,14 +310,12 @@ get_nbns_name(tvbuff_t *tvb, int offset, int nbns_data_offset,
if (cname == '\0' || cname == '.') {
/* No more characters in the name - but we're in
* the middle of a pair. Not legal. */
- strcpy(nbname,
- "Illegal NetBIOS name (odd number of bytes)");
+ nbname="Illegal NetBIOS name (odd number of bytes)";
goto bad;
}
if (cname < 'A' || cname > 'Z') {
/* Not legal. */
- strcpy(nbname,
- "Illegal NetBIOS name (character not between A and Z in first-level encoding)");
+ nbname="Illegal NetBIOS name (character not between A and Z in first-level encoding)";
goto bad;
}
cname -= 'A';
@@ -351,7 +348,7 @@ get_nbns_name(tvbuff_t *tvb, int offset, int nbns_data_offset,
if (cname == '.') {
/* We have a scope ID, starting at "pname"; append that to
* the decoded host name. */
- strcpy(pname_ret, pname);
+ pname_ret += g_snprintf(pname_ret, name_ret_len-(pname_ret-name_ret), "%s", pname);
}
if (name_type_ret != NULL)
*name_type_ret = name_type;
@@ -360,7 +357,7 @@ get_nbns_name(tvbuff_t *tvb, int offset, int nbns_data_offset,
bad:
if (name_type_ret != NULL)
*name_type_ret = -1;
- strcpy (pname_ret, nbname);
+ pname_ret += g_snprintf(pname_ret, name_ret_len-(pname_ret-name_ret), "%s", nbname);
return name_len;
}
@@ -463,9 +460,10 @@ nbns_add_nbns_flags(column_info *cinfo, proto_tree *nbns_tree, tvbuff_t *tvb, in
proto_tree *field_tree;
proto_item *tf;
- buf=ep_alloc(128+1);
+#define MAX_BUF_SIZE (128+1)
+ buf=ep_alloc(MAX_BUF_SIZE);
opcode = (guint16) ((flags & F_OPCODE) >> OPCODE_SHIFT);
- strcpy(buf, val_to_str(opcode, opcode_vals, "Unknown operation"));
+ g_snprintf(buf, MAX_BUF_SIZE, "%s", val_to_str(opcode, opcode_vals, "Unknown operation"));
if (flags & F_RESPONSE && !is_wack) {
strcat(buf, " response");
strcat(buf, ", ");
@@ -518,8 +516,8 @@ nbns_add_nb_flags(proto_tree *rr_tree, tvbuff_t *tvb, int offset, gushort flags)
{ 0, NULL }
};
- buf=ep_alloc(128+1);
- strcpy(buf, val_to_str(flags & NB_FLAGS_ONT, nb_flags_ont_vals,
+ buf=ep_alloc(MAX_BUF_SIZE);
+ g_snprintf(buf, MAX_BUF_SIZE, "%s", val_to_str(flags & NB_FLAGS_ONT, nb_flags_ont_vals,
"Unknown"));
strcat(buf, ", ");
if (flags & NB_FLAGS_G)
@@ -553,8 +551,8 @@ nbns_add_name_flags(proto_tree *rr_tree, tvbuff_t *tvb, int offset,
{ 0, NULL }
};
- buf=ep_alloc(128+1);
- strcpy(buf, val_to_str(flags & NAME_FLAGS_ONT, name_flags_ont_vals,
+ buf=ep_alloc(MAX_BUF_SIZE);
+ g_snprintf(buf, MAX_BUF_SIZE, "%s", val_to_str(flags & NAME_FLAGS_ONT, name_flags_ont_vals,
"Unknown"));
strcat(buf, ", ");
if (flags & NAME_FLAGS_G)