"conversation_add_proto_data()" is supposed to be a protocol ID, as
returned by "proto_register_protocol()". In addition, there are two
different types of protocol data being attached to a conversation; use
different protocol IDs for them, so we don't misinterpret an
"iap_conversation_t" as a "lmp_conversation_t" or vice versa.
svn path=/trunk/; revision=15265
-use g_snprintf instead of sprintf and snprintf
-use g_strdup_printf where appropriate
-remove #include "snprintf.h" (as only g_snprintf should be used)
-replace some more alloc/realloc/calloc/free with their glib pendants
svn path=/trunk/; revision=15264
Eric Wedel
Add a preference to RPC (default off) that will heuristically attempt to find
PDUs starting in the middle of a segment.
svn path=/trunk/; revision=15260
the length and object class items into that tree. Put the object class
item into the tree as a visible item, rather than as a hidden item and
as a text entry.
Add some additional length checks.
svn path=/trunk/; revision=15258
There's no need to build a list of all the options and then dissect them
individually; just have one loop that dissects them. (The full list
wasn't being freed, so we were leaking memory.)
Add some more sanity checks.
Clean up a bunch of other things.
svn path=/trunk/; revision=15255
Fix the sizes of some items to match what's in the I-D and what's being
fetched from the packet.
Check for the length of items before doing *anything* with the item,
including fetching the data from the packet. Just put a "bad length"
indication into the protocol tree; don't abort the dissection (we can
just move on to the next TLV).
svn path=/trunk/; revision=15254
user by crashing due to a null pointer dereference, punish the dissector
writer by saying he or she didn't bother providing an explanation of the
error.
The exception message isn't a const string any more; make the
"exception_message" argument to "show_exception()" a "char *", not a
"const char *".
svn path=/trunk/; revision=15251
message not be const (as we generate messages with "g_strdup_sprintf()",
which means they need to be freed; using a null message means that we
don't have to use a special string for exceptions with no message, and
don't have to worry about not freeing that).
Have THROW() throw an exception with a null message pointer. (This
means that you crash if you throw DissectorError with THROW(). Don't do
that - it means you don't get a more detailed explanation of the
dissector problem. Use the DISSECTOR_ASSERT, etc. macros in
epan/proto.h instead.)
Free the exception message for DissectorError, as it's mallocated.
svn path=/trunk/; revision=15250
that they return through the "pref_path_return" argument; make it a
"char **", as a pointer to a "char *" is passed to it, and the caller
has to free that.
svn path=/trunk/; revision=15249
name of the file being loaded to "delayed_create_progress_dlg()". Get
rid of the pointless "g_strdup_printf()" call (which amounted to a
more-expensive "g_strdup()", and the variables it used.
svn path=/trunk/; revision=15248
returns a malloced string that's supposed to persist as long as Ethereal
is running. Make it return "const char *", and return either the former
pointer or the result of mallocation, so we don't end up using the same
variable for a const pointer and a non-const pointer.
Make the variables to which its result is assigned const pointers as
well.
"strlen()" returns size_t; make a argument to which its result is
assigned a size_t.
Just out of paranoia, check for a zero-length string passed to
"setup_tmpdir()".
svn path=/trunk/; revision=15247
"tvb_fake_unicode()" never returns a null pointer, so there's no need to
check for it; there's also no need to check that it's not an empty
string before freeing it, as it's always assigned a g_malloc()ed string.
It also takes as an argument the number of Unicode characters in the
string, not the number of bytes in the string.
Use "format_text()" when adding a string to the Info column, in case
it has non-printable characters.
Don't use "proto_tree_add_string_format()" if you don't have to.
svn path=/trunk/; revision=15239
transfer context; that way, we don't have to make "di->xfer" a "const"
pointer, and can thus pass it to "g_free()" (if non-null) without
the compiler whining at us.
Note that telling the user to "click on ASSOC request" is not the best
thing to do, unless we simply cannot determine the right ASSOC request
to click on.
svn path=/trunk/; revision=15238
_U_-ify some unused arguments, rather than assigning them to themselves.
Un-constify one variable that gets assigned a mallocated pointer.
Clean up indentation.
svn path=/trunk/; revision=15236
DissectorError. In packet-kerberos.c, restore pinfo->private_data if
we throw an exception, which keeps the SMB dissector from throwing
a DissectorError. Initialize variables in other places to squelch
valgrind warnings.
svn path=/trunk/; revision=15235
here are the highlights of what's fixed:
1) Decoding of vendor-defined types
2) Decoding of some event notification parameters (not all)
3) Decoding of ABSTRACT-SYNTAX&Type
4) Decoding of BACnetTimeStamp
5) Some problems with context-tagged values (like booleans)
6) Continuation segments - don't try to decode them since you can't
start mid-PDU
7) Removed some excessive levels of subtrees
svn path=/trunk/; revision=15226
Some changes that I made to flesh out GPRS message parsing. More information is displayed about the various frame formats. I have also added some code to parse XID parameters in the U frame. I have also fixed a couple of display bugs in the GSM and GPRS LLC parser.
svn path=/trunk/; revision=15224