Commit Graph

85 Commits

Author SHA1 Message Date
Guy Harris 59155d1d1c Eliminate ep_strdup(), as it's no longer used.
Also, remove some no-longer-existent functions from checkAPIs.pl.

Change-Id: I2bf11e3ec03a34f9e89d58d560e340d76fd3ddc1
Reviewed-on: https://code.wireshark.org/review/6645
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-19 01:49:24 +00:00
Guy Harris 7940bbc192 Nobody uses se_ allocations, so remove the code for them.
Don't check for se_ routines in checkAPIs; the failure to compile or
link will suffice to catch attempts to use them.

Update comments in another test script to reflect the disappearance of
the session allocator.

Change-Id: If50d953c7130f48b696bc2dd9d327bea2af49bd4
Reviewed-on: https://code.wireshark.org/review/6638
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-18 21:28:04 +00:00
Michael Mann ef7e8aa065 Remove ep_strndup
Change-Id: Id336dc16f97a0973754993094aa637813c0ca31c
Reviewed-on: https://code.wireshark.org/review/6604
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-18 04:14:55 +00:00
Michael Mann b5eb9710db Replace all remaining instances of ep_new with wmem_new and wmem_packet_scope.
Change-Id: I50b2cd0e233554bc58082e96e8d879b40edfc0c1
Reviewed-on: https://code.wireshark.org/review/6595
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-17 23:22:46 +00:00
Evan Huus 3f575120ea Kill more unused emem functions
Change-Id: Ib81410b6d760886f2ae585f44ac58fc135da62c7
Reviewed-on: https://code.wireshark.org/review/6568
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
2015-01-16 17:36:15 +00:00
Evan Huus 0b271aa867 Remove ep_strbuf code
Thanks to Michael's work, it is now totally unused.

Change-Id: I67b5f7c69535a08f96f449c36c429e2548f4ea11
Reviewed-on: https://code.wireshark.org/review/6505
Petri-Dish: Evan Huus <eapache@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
2015-01-12 17:11:34 +00:00
Michael Mann f5c4d06dba Replace some "low hanging fruit" uses of emem.
Most of the remaining ep_ uses are grouped with specific functionality.

Change-Id: I8fa64a17acc6bcdcf6891b2d28715ac0c58f1a4a
Reviewed-on: https://code.wireshark.org/review/6484
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-11 00:27:57 +00:00
Evan Huus 3a9869d81a Remove/replace ep_strsplit()
Change-Id: I4a803d83844d937804849b2ad3b067381c9b96d0
Reviewed-on: https://code.wireshark.org/review/6448
Petri-Dish: Evan Huus <eapache@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-10 01:56:08 +00:00
Peter Wu f2b4daf400 Add printf-format annotations, fix garbage
The WRETH dissector showed up some garbage in the column display. Upon
further inspection, it turns out that the format string had a trailing
percent sign which caused (unsigned)-1 to be returned by
g_printf_string_upper_bound (in emem_strdup_vprintf). Then ep_alloc is
called with (unsigned)-1 + 1 = 0 memory, no wonder that garbage shows
up. ASAN could not even catch this error because EP is in charge of
this.

So, start adding G_GNUC_PRINTF annotations in each header that uses
the "fmt" or "format" paramters (grepped + awk). This revealed some
other errors. The NCP2222 dissector was missing a format string (not
a security vuln though).

Many dissectors used val_to_str with a constant (but empty) string,
these have been replaced by val_to_str_const. ASN.1 dissectors
were regenerated for this.

Minor: the mate plugin used "%X" instead of "%p" for a pointer type.

The ncp2222 dissector and wimax plugin gained modelines.

Change-Id: I7f3f6a3136116f9b251719830a39a7b21646f622
Reviewed-on: https://code.wireshark.org/review/2881
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-07-06 23:00:40 +00:00
Evan Huus b166553279 remove more unused code
Change-Id: I7275aafe7d7216b85bbb34ba959b74358d102a91
Reviewed-on: https://code.wireshark.org/review/2255
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-06-16 19:11:03 +00:00
Evan Huus 83f9cc6603 Remove last caller of se_strdup_printf
Also remove that function as it is now unused.

Fix what appeared to be a memory leak in the manual address resolution dialog
while in the neighbourhood.

Change-Id: I75128ab0f95e5a7673f92bfeea45191f00581c25
Reviewed-on: https://code.wireshark.org/review/2244
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-16 15:25:53 +00:00
Evan Huus 39a14ab75f Remove now-unused functions.
Change-Id: Iecf230d493b31ecab25b33c67323987459b23bd7
Reviewed-on: https://code.wireshark.org/review/2242
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-16 15:19:48 +00:00
Evan Huus 4ca79e9de6 Remove some dead emem code.
Odds and ends that are no longer used anywhere in wireshark's codebase. It's
slowly going away.

Also internalize some code (remove header prototypes and make static) some
functions that are only called internally to emem now.

Change-Id: Ic1686a0f73c9ecaa333bc7b44a5a67a6a0369884
Reviewed-on: https://code.wireshark.org/review/1581
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-05-11 15:36:11 +00:00
Gerald Combs a5cb72fe9e Add a Qt I/O Graph dialog.
For each graph you can set:
- Its visibility
- A name
- A display filter
- Color, from a fixed list
- Plot style: Line, Impulse, Bar, Stacked Bar, Dot, Square, Diamond
- Basic Y Axes (packets/s, bytes/s, bits/s)
- Computed Y Axes (SUM, MIN, AVG, MAX)
- Smoothing

You can pan and zoom using the mouse and keyboard. Clicking on a graph
selects the last packet for that interval. If all graphs have the same Y
axis a single label is shown, otherwise a legend is shown.

The time scale (X axis) can be toggled between relative seconds and the
time of day.

Graphs can be saved as PDF, PNG, BMP, and JPEG. Settings are "sticky"
via the io_graphs UAT.

To do:
- Minimize graph drawing delays.
- Figure out why smoothing differs from GTK+
- Everything else at the top of io_graph_dialog.cpp
- Fix empty resets.

A fair amount of code was copied from TCPStreamDialog. We might want to
subclass QCustomPlot and place the shared code there.

Move common syntax checking to SyntaxLineEdit.

Move some common code from ui/gtk/io_stat.c to ui/io_graph_item.[ch] and
use it in both GTK+ and Qt.

Make the io_graph_item_t array allocation in io_stat.c static. The
behavior should be identical and this gives us additional compile-time
checks.

Change-Id: I9a3d544469b7048f0761fdbf7bcf20f44ae76577
Reviewed-on: https://code.wireshark.org/review/435
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Tested-by: Gerald Combs <gerald@wireshark.org>
2014-04-07 20:56:42 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Evan Huus c0a0805dcc Remove emem tree code entirely, it is unused.
Depends on I1cedc611c9b7888eb671cf858c6f7819d37afba9

Change-Id: I5dda2f7c34eacb6f350473791df1d74ea4b4a749
Reviewed-on: https://code.wireshark.org/review/220
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-02-16 04:48:10 +00:00
Evan Huus 18f94609d8 Remove now-unused ephemeral stack code. And another one bites the dust...
svn path=/trunk/; revision=54436
2013-12-24 03:39:19 +00:00
Evan Huus 123caff957 Remove one accidentally remaining reference to emem in XMPP utils.
Kill a bunch of now-unused emem tree code.

svn path=/trunk/; revision=53458
2013-11-21 00:18:12 +00:00
Evan Huus 14d589a0a7 Remove some emem functions that have now been completely replaced by wmem.
Finally...

svn path=/trunk/; revision=51757
2013-09-04 21:24:51 +00:00
Alexis La Goutte c67d8f40e6 Fix (-W)documentation error found by Clang
../../epan/ftypes/../emem.h:34:3: error: empty paragraph passed to '@details'
      command [-Werror,-Wdocumentation]
 */
  ^

svn path=/trunk/; revision=51278
2013-08-10 21:31:27 +00:00
Alexis La Goutte 7b4431903d Fix (-W)documentation error found by Clang
../../epan/emem.h:560:5: error: '@return' command used in a comment that is attached to a function returning void
      [-Werror,-Wdocumentation]
 * @return void
   ~^~~~~~~~~~~

svn path=/trunk/; revision=51253
2013-08-10 21:27:52 +00:00
Evan Huus d3fe183eba Include glib.h in emem.h, it needs the definitions
svn path=/trunk/; revision=48630
2013-03-28 21:19:58 +00:00
Evan Huus 122b7cb6df Remove the emem slab feature (sl_* functions) completely, replacing it with
glib memory slices.

- We weren't doing anything with the emem slab that couldn't be done with glib
  slices.
- Removes a fair bit of code as well as one debugging environment variable.
- Glib slices are much cache-friendlier and are multi-threading friendly (if
  we ever go there).
- Allows glib to actually return slices to the OS on occasion. The emem slab
  would hold onto its memory forever which resulted in a great deal of wasted
  memory after closing a large file.

svn path=/trunk/; revision=48218
2013-03-09 20:02:19 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Jakub Zawadzki f68020f1e1 Revert changes to ep_ allocator, revert edt ref-counting.
svn path=/trunk/; revision=45451
2012-10-10 19:05:30 +00:00
Guy Harris e6616b7c2f Rename emem_header_t to emem_pool_t to better indicate what it can be
used for - it represents a memory pool that parcels out memory from
larger allocated chunks (reducing the number of individual malloc-style
calls that are made) and that can be freed in its entirety.

svn path=/trunk/; revision=45400
2012-10-08 18:33:00 +00:00
Evan Huus b6f0d11c6f EDT structures now own their ep_ memory pools. This should finally clean
up the last little bits of:
- https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5284
- https://www.wireshark.org/lists/wireshark-dev/201208/msg00128.html

and possibly part of:
- https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7775

This is a fairly invasive change that required some funky work with linked
lists to avoid changing any of the public ep_* APIs, so if something breaks
blame me :)

svn path=/trunk/; revision=45389
2012-10-08 15:23:36 +00:00
Jaap Keuter c80ed42fc6 Vastly improve the debug presentation( of trees)+.
svn path=/trunk/; revision=45340
2012-10-06 14:35:59 +00:00
Michael Mann 493516fd6c Convert GString to emem_strbuf_t in packet-gadu-gadu.c
Required an additional function, ep_strbuf_append_unichar, in emem module

svn path=/trunk/; revision=44564
2012-08-18 19:20:31 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Jeff Morriss 06bb167824 The rest of the fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7221
(emem alignment problems on SPARC) :

Have emem use 8-byte alignment when we need it.

Since I can't seem to write code that which reliably (across GCC versions and
optimization levels) determines if 8-byte alignment is needed for doubles,
"when" is defined as "if we're compiling for a CPU other than i386."

Windows doesn't need a check because it's either i386 or 64-bit (x86_64 or
maybe ia64--both of which get 8-byte alignment from G_MEM_ALIGN).

(And, yes, all of this is ignoring the 16-byte alignment requirements of long
doubles.)

svn path=/trunk/; revision=42431
2012-05-04 21:56:32 +00:00
Anders Broman 62866c78a0 Get rid of Warnings.
svn path=/trunk/; revision=39957
2011-11-20 12:43:04 +00:00
Gerald Combs 49b92440de More GLIB_CHECK_VERSION cleanups. Update the minimum GLib/GTK+ versions
in README.devloper. Remove g_gnuc.h since it's no longer needed. Remove
tvbuff_init(), tvbuff_cleanup(), reassemble_init(), and
reassemble_cleanup() since they were only used for older GLib versions
which didn't support GSlices. Assume we always support the "matches"
operator.

svn path=/trunk/; revision=37978
2011-07-11 20:32:19 +00:00
Jakub Zawadzki 99351cb0e3 Initial commit of slab allocator (sl_* API)
svn path=/trunk/; revision=37027
2011-05-09 08:55:35 +00:00
Jeff Morriss ecf8cbed34 As suggested by Jakub Zawadzki:
Rename g_gnuc_malloc.h to g_gnuc.h (since it contains non-malloc related
GNUC stuff).

Use G_GNUC_WARN_UNUSED_RESULT from glib instead of using warn_unused_result
directly.

svn path=/trunk/; revision=36825
2011-04-22 17:57:10 +00:00
Jeff Morriss 3161977bf8 Introduce ep_strconcat (copied from the glib version)
svn path=/trunk/; revision=36344
2011-03-26 02:39:04 +00:00
Anders Broman a009cc0605 Doxygen changes.
svn path=/trunk/; revision=33990
2010-08-29 10:47:38 +00:00
Anders Broman 1c2b3b0eb9 Fix a number of doxygen directives.
svn path=/trunk/; revision=33930
2010-08-26 15:24:49 +00:00
Jeff Morriss c1e3350a32 Fix a few comment typos
svn path=/trunk/; revision=32492
2010-04-16 15:05:42 +00:00
Stig Bjørlykke f57d6e2095 From Alex Lindberg via bug 4463:
Added se_tree_lookup32_array_le to emem.[ch].  This function is similar to
se_tree_lookup32_le already defined.

Updated README.binarytrees to reflect this added function and corrected minor
spelling issues.

svn path=/trunk/; revision=31812
2010-02-07 11:01:13 +00:00
Stig Bjørlykke 9092486f58 Changed from using own defined GNUC_FORMAT_CHECK to G_GNUC_PRINTF
defined in GLib.  Removed epan/gnuc_format_check.h.

svn path=/trunk/; revision=31657
2010-01-25 13:20:53 +00:00
Stig Bjørlykke 2b5f360066 From Didier Gautheron via bug 4419:
Use G_GNUC_MALLOC in emem.h declarations.

From me:
Check for valid G_GNUC_MALLOC from g_gnuc_malloc.h.

svn path=/trunk/; revision=31656
2010-01-25 12:50:42 +00:00
Jeff Morriss 78318b32ee Add emem_init() which initializes both the ep_ and se_ allocators; have all
callers use that instead of initializing each allocator individually.

svn path=/trunk/; revision=30646
2009-10-20 17:43:05 +00:00
Kovarththanan Rajaratnam 88186e9b5a Annotate with GNUC_FORMAT_CHECK()
svn path=/trunk/; revision=30489
2009-10-11 06:22:55 +00:00
Kovarththanan Rajaratnam 1a61b42e8a Add ep_verify_pointer()/se_verify_pointer() which checks whether the given pointer belongs in the seasonal/ephemeral pool.
svn path=/trunk/; revision=30011
2009-09-20 12:02:40 +00:00
Kovarththanan Rajaratnam 42b01b61ab Make se_trees static in emem.c
svn path=/trunk/; revision=30008
2009-09-20 09:28:55 +00:00
Kovarththanan Rajaratnam e0e33ca74b We now expose the following environment variables:
* WIRESHARK_DEBUG_EP_NO_CHUNKS
 * WIRESHARK_DEBUG_SE_NO_CHUNKS
 * WIRESHARK_DEBUG_EP_NO_CANARY
 * WIRESHARK_DEBUG_SE_NO_CANARY

This allows us to enable/disable memory chunks and canaries at runtime _without_ needing to recompile.

svn path=/trunk/; revision=29375
2009-08-11 09:24:56 +00:00
Bill Meier fdda6e8778 ep_strbuf: fix some bugs and additional changes
-Bugs
  * str->len not set correctly in some cases;
  * trailing '\0' not always accounted for;
  * (issues relating to determining when & how much 
     to expand string buffer).
-Other
  * Change append, append_c, truncate to return 
    pointer to ep_strbuf (similar to the corresponding
    GString functions);
  * Rename certain variables to clarify usage (as I understand
    the intended usage);
  * ep_strbuf_grow: use current allocated length and not current
    string length as the starting point;
  * Optimizations;
  * Add some additional comments to emem.h ep_strbuf section

  * Use consistent indentation throughout emem.c;

svn path=/trunk/; revision=28044
2009-04-14 14:08:19 +00:00
Gerald Combs 21e87a963f Replace a lot of pointer tracking and some GStrings with emem_strbufs. Add
ep_strbuf_printf and ep_strbuf_append_c.

svn path=/trunk/; revision=27873
2009-03-28 00:27:03 +00:00
Gerald Combs 446d43351c Add initial support for string buffers - ep_allocated, growable strings
similar to GLib's GStrings. Use them to create the list of TCP flags.

svn path=/trunk/; revision=27872
2009-03-27 23:05:37 +00:00