Wireshark mailing list archives
Re: Question regarding emem -> wmem conversion
From: Evan Huus <eapache () gmail com>
Date: Thu, 12 Sep 2013 11:23:33 -0400
On Thu, Sep 12, 2013 at 11:12 AM, Joerg Mayer <jmayer () loplof de> wrote:
I just looked at packet-tacacs.c. The conversion looked straight forward, the em_alloc was easy to convert. Then I noticed calls to ep_address_to_str, which is done in epan/ep_address_to_str.c Is it OK to leave that and only convert the other strings, i.e. is it OK if some of the memory is handled by emem and some by wmem?
That's fine. You obviously can't wmem_free memory allocated by emem, but they can be used together in the same dissector otherwise. Once I've gotten through all the direct calls in the dissector I plan to start looking at the indirect calls (like ep_address_to_str and friends) but they are more complicated: they are not always called just when a packet is being dissected, so their actual scope (since it is not packet scope) is unclear. The only other thing to be aware of when doing conversions is that user table callbacks (UATs) sometimes use ep_ memory, but can be called from the preferences page when no packet is being dissected, so if you convert these to wmem they will assert. UAT memory management is also on my list to figure out once the main conversions are done. Thanks for your help with the conversions! Evan P.S. I have a few vim macros that I wrote to speed up the process. I can share them if anybody using vim wants to help :) Thanks
Jörg Index: dissectors/packet-tacacs.c =================================================================== --- dissectors/packet-tacacs.c (revision 51969) +++ dissectors/packet-tacacs.c (working copy) @@ -63,7 +63,7 @@ #include <epan/packet.h> #include <epan/prefs.h> -#include <epan/emem.h> +#include <epan/wmem/wmem.h> #include <epan/expert.h> #include "packet-tacacs.h" @@ -1287,14 +1287,14 @@ int i,j; size_t md5_len; md5_byte_t *md5_buff; - md5_byte_t hash[MD5_LEN]; /* the md5 hash */ + md5_byte_t hash[MD5_LEN]; /* the md5 hash */ md5_byte_t *mdp; md5_state_t mdcontext; md5_len = 4 /* sizeof(session_id) */ + strlen(key) + sizeof(version) + sizeof(seq_no); - md5_buff = (md5_byte_t*)ep_alloc(md5_len+MD5_LEN); + md5_buff = (md5_byte_t*)wmem_alloc(wmem_packet_scope(), md5_len+MD5_LEN); mdp = md5_buff; -- Joerg Mayer <jmayer () loplof de> We are stuck with technology when what we really want is just stuff that works. Some say that should read Microsoft instead of technology. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org ?subject=unsubscribe
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Question regarding emem -> wmem conversion Joerg Mayer (Sep 12)
- Re: Question regarding emem -> wmem conversion Evan Huus (Sep 12)
- Re: Question regarding emem -> wmem conversion Joerg Mayer (Sep 12)
- Re: Question regarding emem -> wmem conversion Dario Lombardo (Sep 12)
- Re: Question regarding emem -> wmem conversion Evan Huus (Sep 12)
- Re: Question regarding emem -> wmem conversion kaushik varanasi (Sep 12)
- Re: Question regarding emem -> wmem conversion Joerg Mayer (Sep 12)
- Re: Question regarding emem -> wmem conversion Dario Lombardo (Sep 13)
- Re: Question regarding emem -> wmem conversion Joerg Mayer (Sep 13)
- Re: Question regarding emem -> wmem conversion Dario Lombardo (Sep 13)
- Re: Question regarding emem -> wmem conversion Dario Lombardo (Sep 13)
- Re: Question regarding emem -> wmem conversion Evan Huus (Sep 13)
- Re: Question regarding emem -> wmem conversion Joerg Mayer (Sep 12)
- Re: Question regarding emem -> wmem conversion Evan Huus (Sep 12)