diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2008-02-02 17:25:40 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2008-02-02 17:25:40 +0000 |
commit | 677eb18d202d100871dd6b08a18db9dba314ed3b (patch) | |
tree | be5bef5296434902f49f006f350c91544fdda44d /epan/dissectors/packet-tpncp.c | |
parent | f4871e6269b60873a2a82db5f8c88ef8228d9c1b (diff) |
Rewrote some prohibited APIs in epan/dissectors/ (sprintf, strcpy, strcat).
If we get some truncated strings we probably overwrote some buffers...
svn path=/trunk/; revision=24249
Diffstat (limited to 'epan/dissectors/packet-tpncp.c')
-rw-r--r-- | epan/dissectors/packet-tpncp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/epan/dissectors/packet-tpncp.c b/epan/dissectors/packet-tpncp.c index aae96600e8..a121131e89 100644 --- a/epan/dissectors/packet-tpncp.c +++ b/epan/dissectors/packet-tpncp.c @@ -518,7 +518,8 @@ static gint fill_enums_id_vals(FILE *file) { else first_entry = 0; tpncp_enums_name_vals[enum_val] = g_strdup(enum_name); - strcpy(enum_type, enum_name); + strncpy(enum_type, enum_name, MAX_TPNCP_DB_ENTRY_LEN); + enum_type[MAX_TPNCP_DB_ENTRY_LEN-1] = '\0'; } tpncp_enums_id_vals[enum_val][i].strptr = g_strdup(enum_str); tpncp_enums_id_vals[enum_val][i].value = enum_id; @@ -639,7 +640,8 @@ static gint init_tpncp_data_fields_info(tpncp_data_field_info *data_fields_info, } current_tpncp_data_field_info->tpncp_data_field_descr = -1; hf_entr.p_id = ¤t_tpncp_data_field_info->tpncp_data_field_descr; - strcpy(current_tpncp_data_field_info->tpncp_data_field_name, tpncp_data_field_name); + strncpy(current_tpncp_data_field_info->tpncp_data_field_name, tpncp_data_field_name, MAX_TPNCP_DATA_FIELD_NAME_LEN); + current_tpncp_data_field_info->tpncp_data_field_name[MAX_TPNCP_DATA_FIELD_NAME_LEN-1] = '\0'; hf_entr.hfinfo.name = current_tpncp_data_field_info->tpncp_data_field_name; hf_entr.hfinfo.abbrev = current_tpncp_data_field_info->tpncp_data_field_name; switch (tpncp_data_field_size) { |