Wireshark mailing list archives

Re: g_free throwing an exception


From: Paul Offord <Paul.Offord () advance7 com>
Date: Mon, 6 Nov 2017 11:30:33 +0000

No, Pascal is quite right.  In my dissector I pointed the hf fields to some fixed values in an array.  Added some 
g_strdup functions and, voila, it all works.

Thanks both.

Best regards…Paul

From: Wireshark-dev [mailto:wireshark-dev-bounces () wireshark org] On Behalf Of Graham Bloice
Sent: 06 November 2017 10:50
To: Developer support list for Wireshark <wireshark-dev () wireshark org>
Subject: Re: [Wireshark-dev] g_free throwing an exception



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

2017-11-05 12:15 GMT+01:00 Paul Offord <Paul.Offord () advance7 com<mailto: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

______________________________________________________________________

This message contains confidential information and is intended only for the individual named. If you are not the named 
addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if 
you have received this e-mail by mistake and delete this e-mail from your system.

Any views or opinions expressed are solely those of the author and do not necessarily represent those of Advance Seven 
Ltd. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, 
corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept 
liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission.

Advance Seven Ltd. Registered in England & Wales numbered 2373877 at Endeavour House, Coopers End Lane, Stansted, Essex 
CM24 1SJ

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
___________________________________________________________________________
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: