Use local variable space instead of pointer.
The previous implementation utilized pointers and the values would change the table data.
Please apply,
Greg
|
Index: expert_comp_table.c
===================================================================
--- expert_comp_table.c (revision 17420)
+++ expert_comp_table.c (working copy)
@@ -573,9 +573,9 @@
}
err->procedures[err->num_procs].packet_num = (guint32)expert_data->packet_num; /* First packet num */
}
- err->procedures[err->num_procs].entries[0]=(char *)val_to_str(expert_data->group, expert_group_vals,"Unknown group (%u)"); /* Group */
- err->procedures[err->num_procs].entries[1]=(char *)expert_data->protocol; /* Protocol */
- err->procedures[err->num_procs].entries[2]=(char *)expert_data->summary; /* Summary */
+ err->procedures[err->num_procs].entries[0]=(char *)g_strdup_printf("%s", val_to_str(expert_data->group, expert_group_vals,"Unknown group (%u)"), NULL); /* Group */
+ err->procedures[err->num_procs].entries[1]=(char *)g_strdup_printf("%s", expert_data->protocol, NULL); /* Protocol */
+ err->procedures[err->num_procs].entries[2]=(char *)g_strdup_printf("%s", expert_data->summary, NULL); /* Summary */
err->procedures[err->num_procs].entries[3]=(char *)g_strdup_printf("%d", err->procedures[row].count); /* Count */
err->procedures[err->num_procs].fvalue_value = NULL;
if (expert_data->pitem && strcmp(expert_data->pitem->finfo->value.ftype->name,"FT_NONE")!=0) {