Age | Commit message (Collapse) | Author | Files | Lines |
|
current fuzz errors.
svn path=/trunk/; revision=18665
|
|
to space
before output.
svn path=/trunk/; revision=18519
|
|
svn path=/trunk/; revision=18197
|
|
remove unused variables from tvbuff.c
svn path=/trunk/; revision=17567
|
|
svn path=/trunk/; revision=17566
|
|
before freeing the stream; bug 659 mentioned one of them, but there
appear to be others.
svn path=/trunk/; revision=16973
|
|
DISSECTOR_ASSERT() like instead of g_assert throughout tvbuff, so a malicious dissector won't crash Ethereal (at least at the ways we can detect it)
of course this won't catch e.g. NULL pointers, but far better than nothing ...
svn path=/trunk/; revision=15980
|
|
svn path=/trunk/; revision=15858
|
|
and that extract IPv6 addresses into a "struct e_in6_addr", with
tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we
remove, by using proto_tree_add_item(), rather than replacing.
Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct
e_in6_addr" (not necessary to declare the tvbuff routines, but including
it there means "struct e_in6_addr" is guaranteed to be defined before
those declarations, so we don't get compiler complaints if we define it
*after* those declarations).
svn path=/trunk/; revision=15758
|
|
IPv6 addresses. Use "tvb_get_ipv4()" in the WINS Replication dissector,
so that it gets the right answer on little-endian *AND* big-endian
machines.
svn path=/trunk/; revision=15753
|
|
svn path=/trunk/; revision=15398
|
|
svn path=/trunk/; revision=15273
|
|
the README file.
svn path=/trunk/; revision=15271
|
|
documentation in README.developer
svn path=/trunk/; revision=15270
|
|
svn path=/trunk/; revision=15128
|
|
ep_tvb_memdup()
ep_alloc0()
ep_strsplit()
add all of the ep_ allocators to libethereal.def
svn path=/trunk/; revision=15100
|
|
ep_tvb_get_string
that acts the same as tvb_get_string but the buffer returned need not be freed.
svn path=/trunk/; revision=15024
|
|
compressed data buffer. Fixes bug 288.
svn path=/trunk/; revision=14981
|
|
exception ourselves. Fixes bug 130.
svn path=/trunk/; revision=14220
|
|
Add a message block length check to the AIM dissector.
svn path=/trunk/; revision=13955
|
|
returns. (The error returns shouldn't happen in practice, as the GLib
memory allocators never return a null pointer, they just abort the
program, but if we're going to be checking for failure and returning, we
should do the right thing anyway.)
svn path=/trunk/; revision=12957
|
|
"bytes_to_str_punct()", and use it instead of extracting the bytes and
formatting them by hand.
svn path=/trunk/; revision=12876
|
|
characters to '.'.
svn path=/trunk/; revision=12515
|
|
integers.
Make FT_INT64 and FT_UINT64 add numerical values, rather than byte-array
values, to the protocol tree, and add routines to add specified 64-bit
integer values to the protocol tree.
Use those routines in the RSVP dissector.
svn path=/trunk/; revision=11796
|
|
svn path=/trunk/; revision=11581
|
|
svn path=/trunk/; revision=11579
|
|
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
|
|
and default uncompression buffer.
svn path=/trunk/; revision=10839
|
|
svn path=/trunk/; revision=10817
|
|
svn path=/trunk/; revision=10806
|
|
- Helper functions for uncompressing compressed tvbuffers.
- Compressed content coding dissection in HTTP.
svn path=/trunk/; revision=10799
|
|
characters.
Some strings appear to be null-padded; add a "tvb_format_stringzpad()"
routine to handle them, so that we don't show the padding characters as
"\000".
svn path=/trunk/; revision=10461
|
|
svn path=/trunk/; revision=10106
|
|
string argument.
Add some casts to squelch compiler warnings.
svn path=/trunk/; revision=9951
|
|
svn path=/trunk/; revision=9938
|
|
Remove now unnecessary casts in two files.
svn path=/trunk/; revision=9801
|
|
BoundsError, if the offset is just past the end of the reported data
(because we're ensuring that there actually *is* a byte there, and,
even according to the reported length, it isn't).
svn path=/trunk/; revision=9444
|
|
there's no data remaining - its callers largely depend on it doing so.
That means that the BEEP dissector doesn't have to check for it
returning 0.
svn path=/trunk/; revision=9433
|
|
to prevent memory leaks due to exceptions.
makes my tethereal testcase ~1% faster.
svn path=/trunk/; revision=9153
|
|
replace tvb_raw_offset() which is essentially a simple assignment and which
is called a lot with a macro.
this makes my tethereal testcase 2-3% faster.
svn path=/trunk/; revision=9152
|
|
so that we can change tvb_get_ds_tvb() into a macro.
This function was a single line assignment and was called a lot.
This made tethereal ~2.5% faster in one testcase I use.
svn path=/trunk/; revision=9141
|
|
non-null, set "*exception" to the appropriate exception - its callers
rely on it.
Now that it does that, there's no need for "check_offset_length()" to
check for a length of -1, as "compute_offset_length()" does so, and
therefore "check_offset_length_no_exception()" does so.
svn path=/trunk/; revision=8562
|
|
assertion happens 'xxxx contains ""'.
svn path=/trunk/; revision=8450
|
|
The search uses a naive approach; more work is required to add a
Boyer-Moore Search algorithm.
svn path=/trunk/; revision=8280
|
|
"tvb_get_nstringz0()", as it means there's no room even for the
terminating NUL; abort if "_tvb_get_nstringz()" is passed a bufsize of
0.
Don't throw an exception in "tvb_get_nstringz0()" if
"_tvb_get_nstringz()" returns 0 - that just means we have an empty
string.
svn path=/trunk/; revision=8150
|
|
tvb_get_string() - takes a tvbuff, an offset, and a length as
arguments, allocates a buffer big enough to hold a string with
the specified number of bytes plus an added null terminator
(i.e., length+1), copies the specified number of bytes from the
tvbuff, at the specified offset, to that buffer and puts in a
null terminator, and returns a pointer to that buffer (or throws
an exception before allocating the buffer if that many bytes
aren't available in the tvbuff);
tvb_get_stringz() - takes a tvbuff, an offset, and a pointer to
a "gint" as arguments, gets the size of the null-terminated
string starting at the specified offset in the tvbuff (throwing
an exception if the null terminator isn't found), allocates a
buffer big enough to hold that string, copies the string to that
buffer, and returns a pointer to that buffer and stores the
length of the string (including the terminating null) in the
variable pointed to by the "gint" pointer.
Replace many pieces of code allocating a buffer and copying a string
with calls to "tvb_get_string()" (for one thing, "tvb_get_string()"
doesn't require you to remember that the argument to
"tvb_get_nstringz0()" is the size of the buffer into which you're
copying the string, which might be the length of the string to be copied
*plus 1*).
Don't use fixed-length buffers for null-terminated strings (even if the
code that generates those packets has a #define to limit the length of
the string). Use "tvb_get_stringz()", instead.
In some cases where a value is fetched but is only used to pass an
argument to a "proto_tree_add_XXX" routine, use "proto_tree_add_item()"
instead.
svn path=/trunk/; revision=7859
|
|
throw an exception if there aren't enough bytes in the tvbuff to
compare.
svn path=/trunk/; revision=7813
|
|
make sure we have the entire string, rather than fetching the last
character.
svn path=/trunk/; revision=7783
|
|
Things can happen if we pass a zero buffer length to tvb_get_nstringz0().
Throw an exception if this happens.
In various dissectors make sure the tvb_get_nstringz0()'s buffer length
is greater than zero.
svn path=/trunk/; revision=7688
|
|
where necessary to reflect the new behavior.
svn path=/trunk/; revision=7607
|