Wireshark mailing list archives

Re: g_free throwing an exception


From: Graham Bloice <graham.bloice () trihedral com>
Date: Mon, 6 Nov 2017 10:50:06 +0000

On 5 November 2017 at 21:33, Pascal Quantin <pascal.quantin () gmail com>
wrote:

Hi Paul,

2017-11-05 12:15 GMT+01:00 Paul Offord <Paul.Offord () advance7 com>:

Hi,



I am working on a plugin dissector.  It works OK except when I change
profiles Wireshark throws an exception in code in proto.c as follows:



static void

free_deregistered_field (gpointer data, gpointer user_data _U_)

{

               header_field_info *hfi = (header_field_info *) data;

               gint hf_id = hfi->id;



               g_free((char *)hfi->name);      <== The exception occurs
on execution of this call



The hfi structure looks valid and the hfi->name does point to a character
string.



The only thing I can see that might be wrong is that hfi->name has a data
type of const char *



How can I determine the cause of the exception?


Usually this is a sign of an attempt to free a memory block that was not
allocated with g_malloc. Is it a field from your plugin?

BR,
Pascal.



This might also be a case of mixed MSVCRT libraries.  If compiling with
VS2013 are you using VS2013 third party libraries?

-- 
Graham Bloice
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: