aboutsummaryrefslogtreecommitdiffstats
path: root/epan/proto.c
AgeCommit message (Collapse)AuthorFilesLines
2016-11-22extract common logic of proto_item_set_len/proto_item_set_endDmitry Lazurkin1-18/+17
Change-Id: I55f9303624471d09b446c10939e5c22bf8e21511 Reviewed-on: https://code.wireshark.org/review/18894 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-11-21Fix -1 lengths in proto_tree_add_item_ret_string_and_length().Etienne Dechamps1-1/+1
Currently, when passing a -1 length to proto_tree_add_item_ret_string_and_length() or proto_tree_add_item_ret_string(), the -1 length will be passed directly to the field info. The calculated length should be used instead. Bug: 13159 Change-Id: I980d18fb9bde3c452e64a8735e62d4830ce53b64 Reviewed-on: https://code.wireshark.org/review/18904 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-11-20proto_item_set_end() should set the FT_BYTES value length as well.Guy Harris1-1/+11
Change-Id: I33459aabf059e1dc746e7e5f9d5ca28095e056f4 Reviewed-on: https://code.wireshark.org/review/18880 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-11-02proto: Decode negative values in a bitmask fieldThomas Wiens1-12/+114
Allows to use negative values (FT_INT) in a bitmask field. If a field type greater or equal (FT_(U)INT40) is used then also a 64 bit value string and 64 bit format function must be used. Change-Id: Ib86d45bee73a71a784068ab717d35810c6f48017 Reviewed-on: https://code.wireshark.org/review/18601 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-10-31bitmask: add missing break statementThomas Wiens1-0/+1
Change-Id: Ia9cb54431c8c274c46e299b6a6da8cac14bda88e Reviewed-on: https://code.wireshark.org/review/18591 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-10-30Don't use proto_tree_add_{uint,uint64}() to add signed integer values.Guy Harris1-8/+13
Change-Id: I8c5506b746f16e5b79d024be5594cb71f95eced1 Reviewed-on: https://code.wireshark.org/review/18584 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-09-29proto.c use g_list_prepend when adding heuristic dissectors and plugins.AndersBroman1-2/+2
Change-Id: If55938f0bad556a002fc85466c0b4f0e904991dc Reviewed-on: https://code.wireshark.org/review/17981 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-28proto_tree_add_item_ret_(u)int/proto_tree_add_bitmask_with_flags_ret_uint64: ↵Pascal Quantin1-2/+26
return real value Apply mask and bit shift on the returned value. Change-Id: I00aebc854756f01a25199a259d6d5252abea4349 Reviewed-on: https://code.wireshark.org/review/17958 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-27[proto.c] proto_all_finfos(), pre-allocate array to hold all fields.AndersBroman1-1/+2
Change-Id: I0d41e417e57e656ccee1c2ce6bd406af4ed23d10 Reviewed-on: https://code.wireshark.org/review/17948 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-27[proto.c] Add proto_find_first_finfo() to find first occurance of a field.AndersBroman1-0/+34
Change-Id: I11f50d7b00851880f77067260e2496175d227e76 Reviewed-on: https://code.wireshark.org/review/17937 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-22proto.c: avoid dereferencing a NULL pointerPascal Quantin1-12/+16
Some sub protocols do not register fields Follow-up of gf4a521e Change-Id: Iec3165d6204cc6acc0ec31a7266f860012463cd0 Reviewed-on: https://code.wireshark.org/review/17868 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-09-22[proto.c] As we know the size of the hf array use g_ptr_array_sized_new()AndersBroman1-2/+20
to allocate the arry to hold them. This should be more efficient. Change-Id: I84b1095b6eb110fdcc1b2630949c76b51f3a47b6 Reviewed-on: https://code.wireshark.org/review/17866 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-09-19Improve support for single-character fields and filter expressions.Guy Harris1-15/+389
Add an FT_CHAR type, which is like FT_UINT8 except that the value is displayed as a C-style character constant. Allow use of C-style character constants in filter expressions; they can be used in comparisons with all integral types, and in "contains" operators. Use that type for some fields that appear (based on the way they're displayed, or on the use of C-style character constants in their value_string tables) to be 1-byte characters rather than 8-bit numbers. Change-Id: I39a9f0dda0bd7f4fa02a9ca8373216206f4d7135 Reviewed-on: https://code.wireshark.org/review/17787 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-31OK, it probably crashed in proto_initialize_all_prefixes().Guy Harris1-2/+0
Remove the debugging printouts. The changes that were committed between the last build that didn't crash and the first build that did were: commit 961f743d69b323aa217a6b39184485d6a0bfb2d5 Author: Peter Wu <peter@lekensteyn.nl> Date: Mon Aug 29 01:34:22 2016 +0200 xml: fix some memleaks No more memleaks reported for the attachment in bug 12790 :-) Change-Id: I8472e442143b332edfacdf9ef3b8b893f1ec4386 Ping-Bug: 12790 Reviewed-on: https://code.wireshark.org/review/17365 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> commit a04b6fcb3db901734ed948134c973996786be8b7 Author: Peter Wu <peter@lekensteyn.nl> Date: Sun Aug 28 22:19:29 2016 +0200 diameter: fix 400kb leaked memory on exit Before: SUMMARY: AddressSanitizer: 399684 byte(s) leaked in 17208 allocation(s). After addressing to-do by calling ddict_free: SUMMARY: AddressSanitizer: 3024 byte(s) leaked in 256 allocation(s). After fixing all remaining leaks cases in the flex file for diameter: SUMMARY: AddressSanitizer: 735 byte(s) leaked in 58 allocation(s). Not bad huh :-) Ping-Bug: 12790 Change-Id: I0c730ad77ae15c69390bc6cf0a3a985395a64771 Reviewed-on: https://code.wireshark.org/review/17364 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl> commit 14312835c63a3e2ec9d311ed1ffee5285141f4f9 Author: Peter Wu <peter@lekensteyn.nl> Date: Sun Aug 28 19:20:59 2016 +0200 pcapng: do not leak blocks pcapng_open and pcapng_read have 'wblock' allocated on the stack, so if they return, they do not have to set wblock.block to NULL. pcapng_read_block always sets wblock->block to NULL and may initialize it for SHB, IDB, NRB and ISB. Be sure to release the memory for IDB and ISB. It is better to have more wtap_block_free calls on a NULL value than missing them as this would be a memleak (on the other hand, do not release memory that is stored elsewhere such as SHB and NRB). Ping-Bug: 12790 Change-Id: I081f841addb36f16e3671095a919d357f4bc16c5 Reviewed-on: https://code.wireshark.org/review/17362 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> *If* one of those is the cause, my guess is that it's the Diameter one, as the crash happens before any file is read (so it's probably not the pcapng one) and thus before any dissection is done (so it's probably not the XML dissector one). Change-Id: I816c1bbd6078eab251efd02ebb7c3195f6dd1483 Reviewed-on: https://code.wireshark.org/review/17411 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-31Crashing in proto_initialize_all_prefixes()? Debugging output.Guy Harris1-0/+2
Change-Id: I6db711b1730b95460983ee190762753198c1959e Reviewed-on: https://code.wireshark.org/review/17409 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-23More fields, more pre-allocated memory for fields.Guy Harris1-1/+1
Change-Id: I8362e64354c4ca985dbabc190cfb75d2bd31a5ad Reviewed-on: https://code.wireshark.org/review/17257 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-07Allow up to 64-bit values to use BASE_RANGE_STRING.Michael Mann1-0/+3
Change-Id: Iea69b5ef533b9b524a624b96bf82e178fd428ce9 Reviewed-on: https://code.wireshark.org/review/16934 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-27Follow up for proto_tree_add_checksum.Michael Mann1-25/+3
Fill in the "gaps" so that all dissectors that verify checksums have both a status and expert info field. Also address comments from original proto_tree_add_checksum patch that didn't make it. Ping-Bug: 8859 Change-Id: I2e6640108fd6bb218cb959fe9e4ba98a13e43a2f Reviewed-on: https://code.wireshark.org/review/16590 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-26Fix some of the checkAPIs.pl warnings for g_warning.Michael Mann1-3/+3
1. Create ws_g_warning for legitimate uses of g_warning 2. Use proto_tree_add_debug_text 3. Comment some out Change-Id: Ida044bf40286b955fdd529c4f9907c8e09b3d7c5 Reviewed-on: https://code.wireshark.org/review/16678 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-26proto.c: add bounds check to proto_tree_add_text(_valist)_internalPascal Quantin1-0/+16
Bug: 12659 Change-Id: I44cb3ce8e647ae2816d5ffa95435068c435a1e5c Reviewed-on: https://code.wireshark.org/review/16648 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-25Fix checkAPI.pl warnings about printfMichael Mann1-16/+17
Many of the complaints from checkAPI.pl for use of printf are when its embedded in an #ifdef and checkAPI isn't smart enough to figure that out. The other (non-ifdef) use is dumping internal structures (which is a type of debug functionality) Add a "ws_debug_printf" macro for printf to pacify the warnings. Change-Id: I63610e1adbbaf2feffb4ec9d4f817247d833f7fd Reviewed-on: https://code.wireshark.org/review/16623 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-21Add proto_tree_add_checksum.Michael Mann1-0/+128
This is an attempt to standardize display/handling of checksum fields for all dissectors. The main target is for dissectors that do validation, but dissectors that just report the checksum were also included just to make them easier to find in the future. Bug: 10620 Bug: 12058 Ping-Bug: 8859 Change-Id: Ia8abd86e42eaf8ed50de6b173409e914b17993bf Reviewed-on: https://code.wireshark.org/review/16380 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-07-20Allow BASE_NONE (with strings conversion) for integral values again.Jeff Morriss1-3/+15
This mostly reverts SVN rev 43412 (3fa645481f82e32d5ad01ebce9c482c4edae31ae) with the addition of documenting that FT_*INT*'s with BASE_NONE and a FIELDCONVERT tells the Wireshark core that the field's numeric value is meaningless and should not be shown to the user. Use BASE_NONE again with the expert info group and severity fields. This (finally) resolves the complaint from: https://www.wireshark.org/lists/wireshark-dev/201206/msg00188.html (yes, this mail's been sitting in my "todo" pile since then! <sigh>) Change-Id: I1c6dd2864e7a2e959c97c409f277853af74a8d93 Reviewed-on: https://code.wireshark.org/review/16518 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-07-17Fix printf style parameters complaints from VS Code AnalysisMichael Mann1-3/+3
Change-Id: I5669e2442582f899643fae4a9f86ab6d505dde07 Reviewed-on: https://code.wireshark.org/review/16505 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-07-14proto.c: Unsigned fields should use %u within printf.Michael Mann1-7/+7
Found by VS Code Analysis Change-Id: I76ea860cd86b41ef33c47dcc8f6b1c122f8bb668 Reviewed-on: https://code.wireshark.org/review/16424 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-07-02proto.c: allow calling get_hfi_length() with a 0 byte tvb and length=-1Pascal Quantin1-1/+1
As indicated in the comment, we allow FT_PROTOCOL, FT_NONE, FT_BYTES, FT_STRING and FT_STRINGZPAD to be zero-length. But in that case do not call tvb_ensure_captured_length_remaining() that ensures that at least 1 byte is present. Bug: 12561 Change-Id: I881754368c24d334b88f0dda1d59a68e08219227 Reviewed-on: https://code.wireshark.org/review/16167 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-23Fix "disable this protocol by default".Guy Harris1-9/+22
Allow a dissector to mark its protocol as "disabled by default", which means that the "enable all protocols" routine won't enable it. This is necessary in order to allow the disabling of protocols not to be unintentionally changed due to profile changes; see bug 9826. Change-Id: I3947f794c21350b70a8de06899cfc7715b77f90f Ping-Bug: 9826 Reviewed-on: https://code.wireshark.org/review/16109 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-22Move AT_VINES address type to VINES dissector.Michael Mann1-1/+7
proto.c still has to deal with FT_VINES, but maybe that can be refactored to the dissector too. Change-Id: Iee04eed3b75f91cb62bb7b625dd44baeeb9aebb3 Reviewed-on: https://code.wireshark.org/review/16069 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15proto.c: allow calling proto_item_add_bitmask_tree() with a length set to 0Pascal Quantin1-1/+1
This is required for the flags from packet-frame.c Bug: 12536 Change-Id: I60bfe671687bcd3a9b5c997ba62bed563e890548 Reviewed-on: https://code.wireshark.org/review/15945 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-13Add proto_tree_add_bitmask_list_value.Michael Mann1-0/+10
Ran across enough situations that proto_tree_add_bitmask_list couldn't solve that it seemed necessary. Change-Id: I6a540ac6efca76cae7c4571a84bb400538652784 Reviewed-on: https://code.wireshark.org/review/15880 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-07Don't sign extend unsigned integer fields larger than 32 bits.Jens Kilian1-4/+0
Fix a bug in proto_tree_set_uint64() which caused fields to be sign extended. (This only showed up when a non-zero bitmask was present.) Change-Id: Ibcc986e3d42f97348966ea66c2ae9fca73b09992 Reviewed-on: https://code.wireshark.org/review/15764 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2016-05-31Remove proto_item_append_string.Michael Mann1-46/+0
It requires some "extra work" to get it to work properly. Despite documenting it, some previous use cases didn't do the extra work. Let's just see how we get by without it. Change-Id: I31dba1d5038d793085f6c9e4b4a6eda574e86872 Reviewed-on: https://code.wireshark.org/review/15610 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-05-26Update the comments/warnings about using proto_tree_append_string().Jeff Morriss1-11/+12
packet-wsp.c hasn't used proto_tree_append_string() since Ic5467289aae7d54e78c1fd65f93358387d6139aa. Use packet-frame as the example instead. Change-Id: I69fb10679ec1685a61aac182414e596b345153fd Reviewed-on: https://code.wireshark.org/review/15563 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-05-10Have fvalue_to_string_repr always return an (wmem) allocated buffer.Michael Mann1-11/+11
Previous patches converted all fvalue_to_string_repr calls to expect an allocated buffer (and not a passed in one). Now changing signature to force an allocated buffer. Added wmem in case that can be taken advantage of within epan (and since the function signature was changing anyway). Change-Id: Ica1ac4a9a182ce0e73303856329e198d9d525b7b Reviewed-on: https://code.wireshark.org/review/15343 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-05-10rawshark: Get "field string values" from existing functionality.Michael Mann1-0/+5
rawshark shouldn't be converting FT_ and BASE_ values into strings on its own, there's a function for that. Change-Id: Ib4ce1651ee130a03644b5de3ab471333444e19a9 Reviewed-on: https://code.wireshark.org/review/15341 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-05-10Dynamically allocate the string for representing FT_IEEE_11073_[S]FLOAT.Michael Mann1-31/+22
Most uses of fvalue_to_string_repr() don't provide a buffer to write to, so memory is allocated dynamically inside the function. Trying to move to where ALL cases don't provide a buffer to simplify fvalue_to_string_repr handling and the underlying functionality of the ftypes. Change-Id: Iac03e4eb63b5e38311a6472fbe488009ed55206c Reviewed-on: https://code.wireshark.org/review/15331 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-05-08Handle the encoding when displaying the string table.Guy Harris1-13/+25
Don't just treate the strings as piles of ASCII characters. Add a proto_tree_add_item_ret_string_and_length() routine to help do this. Clean up some of the documentation of the proto_tree_add_item_ret routines while we're at it. Change-Id: Ib4c52bd8a8331eac97312583326f5be9175889d9 Reviewed-on: https://code.wireshark.org/review/15291 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-05-05Convert ftype-tvbuff.c to ftype-protocol.cMichael Mann1-5/+10
As noted in https://www.wireshark.org/lists/wireshark-dev/201604/msg00103.html a protocol field isn't really a tv_buff, so allow for the possibility of a NULL tv_buff in a "protocol type". If the tvb is NULL, use the string of the protocol field for comparison Bug: 12335 Change-Id: Ie12a5f7b31c7293c61006b0f70135d100a97c4e0 Reviewed-on: https://code.wireshark.org/review/15261 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-04-26Get rid of duplicate code.Guy Harris1-9/+2
Use CHECK_FOR_NULL_TREE() while we're at it, to make it more like other routines. Change-Id: I2cbdf9f043583fd0c9858e94ae1134173a68c875 Reviewed-on: https://code.wireshark.org/review/15116 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-04-26Always call test_length(), even if the tree is null.Guy Harris1-2/+1
Otherwise, we run the risk of getting caught in a loop that runs past the end of the packet. Shows up in, for example, the capture in bug 12370; if you read it with tshark -V, it reports malformed packets, but if you try to read it with tshark without -V, it spins. Bug: 12370 Change-Id: Ic3e7be2ddbaaf52b58c4f73348a0f093979af1cc Reviewed-on: https://code.wireshark.org/review/15115 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-04-13Restrict the depth of the protocol tree.Gerald Combs1-2/+23
Limit the the protocol tree to 500 levels. This keeps us from running out of stack space in proto_tree_traverse_{pre,post}_order. Bug: 12268 Change-Id: I60f6b4487bf51a4d43da0429819a8a20fbdb313a Reviewed-on: https://code.wireshark.org/review/14887 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-04-02OK, we'll increase PROTO_PRE_ALLOC_HF_FIELDS_MEM a bit.Guy Harris1-1/+1
Change-Id: I6c4ed55634468b1200c069f1aeaf9200b47e052c Reviewed-on: https://code.wireshark.org/review/14772 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-03-15More "FT_BOOLEAN is 64-bit" fixes.Guy Harris1-3/+3
Change-Id: Iaacd492858ca2fb98c4947d587fbbd26fc102a7d Reviewed-on: https://code.wireshark.org/review/14486 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-03-10Remove double check for null (CID 1158871)Jaap Keuter1-4/+1
Make full use of our proper implementation of this macro by giving it the pointer as is. Change-Id: I0bbe73d19cc3f578b94ea2d4d904d6fa87b20b48 Reviewed-on: https://code.wireshark.org/review/14391 Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-03-07Add conflict check filterAlexis La Goutte1-1/+55
Set ENABLE_CHECK_FILTER to 1 for get list of display filter with conflict... Ping-Bug:2402 Change-Id: I8d56b1573120d1a29d437aae1088be242e15e9a3 Reviewed-on: https://code.wireshark.org/review/13644 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-02-16const gpointer -> gconstpointerJoão Valverde1-2/+2
'const gpointer' is the same as 'void *const'. Replace with gconstpointer where straightforward (assuming that was the intent) and use gpointer everywhere else for clarity (that does not change *API* constness contract; it just means a variable is not declared immutable inside the called funtion). Change-Id: Iad2ef13205bfb4ff0056b2bce056353b58942267 Reviewed-on: https://code.wireshark.org/review/13945 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-02-15Add some casts to void * to fix (pedantic) argument mismatch notesJoão Valverde1-1/+1
Change-Id: I63e46285b4c6676d4ae57196b85fbad89964898c Reviewed-on: https://code.wireshark.org/review/13933 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2016-02-02proto.c: fix indent (use tabs)Alexis La Goutte1-166/+166
Change-Id: I1ebd31a694fde845e1ca4e125c1ed31bda7c00a8 Reviewed-on: https://code.wireshark.org/review/13646 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-02-02Add proto_tree_add_item_ret_string() routine.Guy Harris1-74/+173
It adds string-type fields to the protocol tree and returns the value of the string. Add the new bitmask-adding routines to the Debian symbol list while we're at it. Change-Id: Idaeec44c9cd373588cadce85010f3eaf1f3febb5 Reviewed-on: https://code.wireshark.org/review/13657 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-02-01Add heuristic dissectors for the variable part of COTP CR and CC PDUs.Guy Harris1-113/+112
Add tables for heuristic dissectors, and add dissectors for the stuff Microsoft puts there for RDP; they're violating the COTP spec, but I guess they're stuck because they're using TP0, which doesn't support user data. While we're at it, add variants of proto_tree_add_bitmask() and proto_tree_add_bitmask_flags() that return the bitmask, for use by callers. A side-effect of the change is that the proto_tree_add_bitmask routines no longer treat the encoding as a Boolean, so we have to pass ENC_LITTLE_ENDIAN or ENC_BIG_ENDIAN, not just some non-zero or zero value. Do so. Rename ositp_decode_CC() to ositp_decode_CR_CC(), to note that it decodes both CR and CC PDUs. Bug: 2626 Change-Id: If5fa2a6dfecd9eb99c1cb8104f2ebceccf1e57c2 Reviewed-on: https://code.wireshark.org/review/13648 Reviewed-by: Guy Harris <guy@alum.mit.edu>