Commit Graph

134 Commits

Author SHA1 Message Date
Guy Harris c0711693ab Enable -Wredundant-decls.
Add it to the default list of checks, and fix some errors it causes.
(Sadly, it doesn't work in CLang.)
2021-02-14 14:43:42 -08:00
Jaap Keuter 27acec97e9 Lemon: import fresh lemon from upstream
- get latest lemon from upstream (SQLite)
- update and apply the patches
- introduce CC0-1.0 license indication
- update documentation
2020-12-04 08:32:58 +00:00
Gerald Combs f0be7f27d8 Lemon: Squelch an unused parameter warning.
Fixes

... tools\lemon\lemon.c(1630,14): warning C4100: 'argc': unreferenced formal parameter ...

Change-Id: I5cddbbed025e246ddebe9189edbe6fbeea883a7d
Reviewed-on: https://code.wireshark.org/review/35522
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2019-12-26 10:32:37 +00:00
Peter Wu 7ce9081fdc lemon: sync with upstream (2018-09-08)
Changes:
- Drop the old basename modification that was present in the Wireshark
  version of lemon.c. Use a new option available since 2018-04-20
  ("Add the -dDIRECTORY command-line option to LEMON.")
- Redo the static analyzer warning fixes, identifying the root causes
  and adding assertions instead of hiding code with __clang_analyzer__.
- Ignore compiler warnings instead of adding config.h, _U_, extra const
  keywords, unsigned/signed changes, etc.
- Remove lemon.html, it is out-of-date and external links are available.

In order to make future updates easier, document the exact steps that
were followed to create the lemon.c and lempar.c files. Future changes
SHOULD follow the same process.

My process to reach this updated lemon version:
1. Identify previous sync. Found v2.5.2rc0-147-g653af0f6d0 ("lemon: Sync
   with latest trunk.") which seems based on sqlite commit 2b3d584ffe.
2. Check successive Wireshark patches. Identified many non-functional
   changes to silence compiler warnings and static analyzer issues.
   Found one feature (basename) that can be replaced with upstream -d.
3. Write minimal patches and document changes.

Upstream typos and coding style issues (other than trailing whitespace)
were deliberately not fixed to remain as close as possible to upstream.

Change-Id: I606f46dede86e34520f962a9e7163912392aad57
Reviewed-on: https://code.wireshark.org/review/30290
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-21 07:00:05 +00:00
Peter Wu bb2caa2a9f lemon: fix memleak in ReportTable
Building without -DENABLE_ASAN=1 but with -fsanitize=address (as is done
by oss-fuzz) still triggers a memleak report. Closer inspection revealed
that two other members were leaked.

Change-Id: I3d022ac50c554891a73b9380b7879c1a60c3c798
Reviewed-on: https://code.wireshark.org/review/30289
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-21 06:58:32 +00:00
Stig Bjørlykke 6bb5a7af66 lemon: Make it build with __clang_analyzer__ defined
The static function handleswitch() is not compiled with __clang_analyzer__
defined, but it's used in OptInit() without any checks. Change to have
an empty implementation for __clang_analyzer__.

Change-Id: I73da2042ec64fdfa6910c02c059d36db491dc538
Reviewed-on: https://code.wireshark.org/review/28059
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-07 03:58:04 +00:00
Dario Lombardo 35c83b22c0 lemon: remove leaks in main().
Change-Id: If6693d2ad87fcd1dcceb137d76d890663f83a827
Reviewed-on: https://code.wireshark.org/review/26705
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:52:28 +00:00
Dario Lombardo c95e18333c lemon: remove leak in tplt_open().
Change-Id: I6a13c89e27797f8c8d1e187aef8923b9df0c8ee4
Reviewed-on: https://code.wireshark.org/review/26706
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:51:57 +00:00
Dario Lombardo 02ef13fac7 lemon: remove scan-build warning in errline().
Warning: Argument with 'nonnull' attribute passed null.

Change-Id: Ie46733ae8663161b957acaabbaa2da539018693d
Reviewed-on: https://code.wireshark.org/review/26704
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-04-05 18:51:34 +00:00
Dario Lombardo 60d5edb41c lemon: make some functions static.
Change-Id: I41a78d6cb87223d13854ca4aad4ffdf70daecaf3
Reviewed-on: https://code.wireshark.org/review/26687
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-04 10:00:49 +00:00
Dario Lombardo 8131922b26 lemon: comment out unused OptErr function.
Change-Id: I889c2f0df721d93752c77e6b31ddaa8702ab47bf
Reviewed-on: https://code.wireshark.org/review/26703
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-04 04:12:52 +00:00
Dario Lombardo d7c98ddde7 lemon: skip clang analyzer for more code.
Change-Id: I3c2c0e1581c759fb4eef48008a7d905701958913
Reviewed-on: https://code.wireshark.org/review/26688
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-03-30 19:02:13 +00:00
Dario Lombardo 072e24fa0a lemon: remove unneeded assignment.
Change-Id: Id7bd4b5f7db1c9c797a2f50e7896799a0ad64532
Reviewed-on: https://code.wireshark.org/review/26690
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2018-03-30 19:02:04 +00:00
Dario Lombardo 4feb47dca2 lemon: remove clang scan warnings.
Add assert and remove some code from scan builds.

Change-Id: I32747d1a61f183e4c918d9f50ec8337eaef47f0d
Reviewed-on: https://code.wireshark.org/review/26483
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-30 07:30:41 +00:00
Anders 653af0f6d0 lemon: Sync with latest trunk.
Change-Id: Iab0d64f675b482eee97b300d419ffa1e8090632e
Reviewed-on: https://code.wireshark.org/review/26676
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 16:20:24 +00:00
Anders 85a0646490 lemon: Sync with upstream, Jun 28, 2017
Change-Id: I4c6dbd018302fdf176e955e0e5e735a7aee22b10
Reviewed-on: https://code.wireshark.org/review/26669
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 07:10:47 +00:00
Anders 5ef22d4a4b lemon: Align struct s_options with upstream.
Change-Id: I87ce8123a625a643a7c3d9e426f5ce103a670f2a
Reviewed-on: https://code.wireshark.org/review/26666
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-28 04:09:39 +00:00
Anders 036c5a4e6a lemon: Trivial changes to make it easier to compare with upstream.
Change-Id: I1bfac3d39a50b3d2093c66a77280b355e678d427
Reviewed-on: https://code.wireshark.org/review/26664
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-27 20:04:59 +00:00
Ahmad Fatoum 9d49e13166 Remove superfluous null-checks before strdup/free
NULL checks were removed for following free functions:

- g_free "If mem is NULL it simply returns"
  https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-free

- g_slist_free(_full)? "NULL is considered to be the empty list"
  https://developer.gnome.org/glib/stable/glib-Singly-Linked-Lists.html

- g_strfreev "If str_array is NULL, this function simply returns."
  https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strfreev

- g_slice_free "If mem is NULL, this macro does nothing."
  https://developer.gnome.org/glib/stable/glib-Memory-Slices.html#g-slice-free

- g_match_info_free "not NULL... otherwise does nothing"
  https://developer.gnome.org/glib/stable/glib-Perl-compatible-regular-expressions.html#g-match-info-free

- dfilter_free defined in Wireshark code. Returns early when passed NULL
  epan/dfilter/dfilter.c

They were also removed around calls to g_strdup where applicable:

- g_strdup "If str is NULL it returns NULL."
  https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strdup

Change-Id: Ie80c2db89bef531edc3aed7b7c9f654e1d654d04
Reviewed-on: https://code.wireshark.org/review/23406
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
2017-10-15 12:38:51 +00:00
João Valverde d0a91b27f2 plugins: config.h must not be included by public headers
For a sane plugin build environment. Include config.h as the first
header in the .c file instead.

Fix by moving required compiler attribute macros to a new
"ws_attributes.h" API header.

Change-Id: I34f58a927f68c1a0e59686c14d214825149749e1
Reviewed-on: https://code.wireshark.org/review/23400
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>
2017-09-06 08:10:56 +00:00
Alexis La Goutte dcba264a46 lemon: avoid redundant redeclaration of ‘memory_error’ [-Wredundant-decls]
Change-Id: I1fbc11dc433363b659ddba9a77e52ffd4e3968d7
Reviewed-on: https://code.wireshark.org/review/21850
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>
2017-05-31 11:33:19 +00:00
Alexis La Goutte 427c800a9f lemon: fix no previous prototype for ‘memory_error’ [-Wmissing-prototypes]
Change-Id: I5830581c843af41f48bc9645c2be7cf35fa00391
Reviewed-on: https://code.wireshark.org/review/21463
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>
2017-05-02 17:38:53 +00:00
Alexis La Goutte 9ccba0e605 Revert "Make the set of static routines match that in the current tip SQLite."
This reverts commit 96c72df2df.

Generated a lot of warning (-Wmissing-prototypes)
and i try to kept a sync branch on https://github.com/alagoutte/sqlite/tree/wireshark

Change-Id: I42252a6e736f96783a9fa9805b84e525fe11726e
Reviewed-on: https://code.wireshark.org/review/21182
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-04-24 07:30:05 +00:00
Guy Harris 96c72df2df Make the set of static routines match that in the current tip SQLite.
This reduces the differences between our lemon.c and SQLite's.

Change-Id: Ie672fa564a43ffe2fae271968accfed2a864bb63
Reviewed-on: https://code.wireshark.org/review/21107
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-04-15 05:07:57 +00:00
Guy Harris d523f615be Make memory_error() a routine.
That makes the code more like Lemon as distributed.

Note that Lemon, as distributed, at least claims to have a bunch of
stuff "From the file "XXX.{c,h}", which might be the result of lemon.c
being an "amalgamation":

	https://www.sqlite.org/amalgamation.html

although, unlike SQLite, the individual bits of the amalgamation don't
appear to be present in the SQLite Fossil repository, so maybe they've
been permanently glued together.

Change-Id: I361d0d16be0744b127110d7d237fdd84e30b6432
Reviewed-on: https://code.wireshark.org/review/21105
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-04-15 02:33:52 +00:00
Guy Harris 3bd7671083 Make whitespace match what's checked into the SQLite repository.
They accepted some of our changes, but with no space between "struct
XXX" and "*.  Whatever.

Change-Id: I6b29462dc8b04ebf0822f8512d82f5f8df575447
Reviewed-on: https://code.wireshark.org/review/21101
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-04-15 01:29:11 +00:00
Alexis La Goutte 867d5cd6b1 lemon: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7
Change-Id: If52bc0092f1baa833e35a9f4c107faf72c3b64d1
Reviewed-on: https://code.wireshark.org/review/20392
Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-03-05 15:14:39 +00:00
Alexis La Goutte a76c6cfa42 lemon: Fix Dereference of null pointer found by Clang analyzer
lemon.c:877:10: warning: Access to field 'lhs' results in a dereference of a null pointer (loaded from field 'startRule')
lemon.c:1141:22: warning: Access to field 'lhs' results in a dereference of a null pointer (loaded from field 'startRule')

it is false positve lem.nrule==0 implies lem.rule==NULL

Change-Id: Id63086990762fbf5195bce34a28f25aeb7a246f7
Reviewed-on: https://code.wireshark.org/review/19445
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-12-30 00:56:18 +00:00
Alexis La Goutte 60551ea55a Lemon: resync with upstream
lemon: Tue Aug 16 16:46:40 2016
lempar: Tue Dec 6 17:59:05 2016 +0000

a copy of all Wireshark changes are available https://github.com/alagoutte/sqlite/tree/wireshark

Change-Id: I144d0f983e4ac960b5a7a2fd8cd379f6282579f8
Reviewed-on: https://code.wireshark.org/review/15987
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
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>
2016-12-24 19:35:59 +00:00
Martin Kaiser c26968434c lemon: use a define for fseek()'s whence parameter
for people who don't immediately understand what fseek(fp, 0, 2) does

Change-Id: I297ba6fd718ef0f09c4d0b29bf433262c3c38435
Reviewed-on: https://code.wireshark.org/review/15976
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-06-16 19:57:15 +00:00
Guy Harris 38d39f292e Have MemoryCheck() directly incorporate the error message and exit.
Manually inline memory_error() in MemoryCheck(), so that static
analyzers know that, if MemoryCheck() sees a null pointer, it exists,
and the null pointer isn't subsequently used.

Use MemoryCheck() instead of the one place where we manually checked for
a null pointer and called memory_error().

Change-Id: Id6b0328cfd17cb14ec9d1e461420896a31573c71
Reviewed-on: https://code.wireshark.org/review/15851
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-12 19:18:41 +00:00
Guy Harris 7bbc60c668 Add more memory checks, and use MemoryCheck() for some existing checks.
Always check for malloc() and realloc() failing.  Use MemoryCheck() for
most of the checks - it's a bit cleaner and makes the error message the
same for those checks.

Change-Id: I533153c697b37b85adfa0259c1352efece0b0486
Reviewed-on: https://code.wireshark.org/review/15849
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-12 17:34:47 +00:00
Dario Lombardo 2bf715dcc2 lemon: fix leak.
Found by clang's ccc-analyzer.

Change-Id: I04eaad73486a43a77c4f08cf519bbfe7d2d8c838
Reviewed-on: https://code.wireshark.org/review/13581
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-31 13:27:25 +00:00
Alexis La Goutte e63fd927f9 lemon (tools): Fix Dereference of null pointer found by Clang analyzer
Change-Id: Ica08d9372fbe3809eb078e0285cba2a49cee6b8d
Reviewed-on: https://code.wireshark.org/review/13331
Reviewed-by: Dario Lombardo <lomato@gmail.com>
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-22 19:36:37 +00:00
Alexis La Goutte 9a09f36807 Lemon: resync with upstream
lemon: Thu Oct 29 13:48:15 2015
lempar: Tue Nov 10 14:51:22 2015

a copy of all Wireshark changes are available https://github.com/alagoutte/sqlite/tree/wireshark

Change-Id: I51f8b40a7087362502f6ce2156820a9f107ddf15
Reviewed-on: https://code.wireshark.org/review/13033
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-01-12 05:42:57 +00:00
João Valverde cac0ab63ee lemon: Fix warnings [-Wpedantic]
Change-Id: I7b350b2c4de5f86de24c8f2309016f3de7af8516
Reviewed-on: https://code.wireshark.org/review/12959
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-07 15:52:24 +00:00
João Valverde 2bc6530a99 lemon: Fix warnings [-Wcast-qual]
Change-Id: I2b9efa50cf6385622601d2a80f4cc51691d080a1
Reviewed-on: https://code.wireshark.org/review/12960
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-31 20:13:28 +00:00
Alexis La Goutte e0af790aac lemon (tools): Fix Dereference of null pointer found by Clang analyzer
Change-Id: I6be51833b4268dbfde5c78820004a4714779b0c5
Reviewed-on: https://code.wireshark.org/review/9515
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-11-23 09:32:38 +00:00
Guy Harris ad52d7d83a Bail out immediately if we can't allocate a buffer for carving up $PATH.
Quit immediately, don't even bother allocating a buffer for the pathname
of the file we found.

Revert some other cosmetic changes, to reduce the differences between us
and upstream.

Change-Id: I217fecee64c7e6bac9272486d0cc334e192b501e
Reviewed-on: https://code.wireshark.org/review/11253
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-25 02:02:16 +00:00
Dario Lombardo 2d2b129493 lemon: move free() to avoid mem leak (CID 718529)
Change-Id: I3b0740f5ccc3b9b87ed351e26f198152bbb1e599
Reviewed-on: https://code.wireshark.org/review/10801
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-25 00:21:48 +00:00
Dario Lombardo 24b5300411 lemon: add free() to avoid mem leak (CID 1309088)
Change-Id: Id32864d324f72ffee9c1033f0f36a79eb2651334
Reviewed-on: https://code.wireshark.org/review/10797
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-24 16:48:09 +00:00
Alexis La Goutte 3ea89e6155 lemon (tools): Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Change-Id: Ibfa0bfd589e77a58b7b242c7c2fe25ef052a874e
Reviewed-on: https://code.wireshark.org/review/9516
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-07-25 18:07:34 +00:00
AndersBroman 88302f267c Try to fix OSX build boot
lemon.c:1784: warning: implicit conversion shortens 64-bit value into a 32-bit value
lemon.c:1790: warning: implicit conversion shortens 64-bit value into a 32-bit value
1790: warning: implicit conversion shortens 64-bit value into a 32-bit value
1928: warning: implicit conversion shortens 64-bit value into a 32-bit value
2707: warning: implicit conversion shortens 64-bit value into a 32-bit value

Change-Id: Ief1b64009891de6885c2c9a6cb0e290752de889f
Reviewed-on: https://code.wireshark.org/review/9463
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-07-02 11:09:36 +00:00
Alexis La Goutte 9d8b810127 Lemon: Update lemon tools
Update from SQLite trunk (19 April 2015)

Add include <config.h>

Fix warning: unused parameter 'argc' [-Wunused-parameter] (using _U_)

Fix implicit conversion loses integer precision

Fix comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]

Fix function declaration isn’t a prototype [-Wstrict-prototypes]

Fix warning: old-style function definition [-Wold-style-definition]

Fix trailing whitespace

Fix use -T for template for epan\Makefile.nmake, epan\dfilter\Makefile.nmake, plugins\mate\Makefile.nmake, plugins\tpg\Makefile.nmake and cmake/modules/UseLemon.cmake

Fix -Wmissing-prototypes Remove unused function (acttab_free)

Add basename the filename with only filename (no path...)

Fix lemon.c:3435: warning: implicit conversion shortens 64-bit value into a 32-bit value

Add "new" version of lempar.c (3 November 2009).

LEMPAR: fix trailing whitespace

LEMPAR: fix -Wunused-parameter

Change-Id: I2df7e39c9a6846de26743a981fb76aca423fe813
Reviewed-on: https://code.wireshark.org/review/6502
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-07-02 08:49:02 +00:00
Pascal Quantin 7d004dc887 Revert "Lemon: Update lemon tools"
This reverts commit 5855dd8d53.

This Lemon update fails to compile on OSX and triggers asserts on other platforms

Change-Id: I12a8a2bf32db31e5a9b0cb1a67a39724e30f3e91
Reviewed-on: https://code.wireshark.org/review/6496
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-11 19:57:45 +00:00
Alexis La Goutte 5855dd8d53 Lemon: Update lemon tools
Fix warning: declaration shadows a variable in the global scope [-Wshadow]

Add include <config.h>

Fix warning: unused parameter 'argc' [-Wunused-parameter] (using _U_)

Fix implicit conversion loses integer precision

Fix comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]

Fix function declaration isn’t a prototype [-Wstrict-prototypes]

Fix warning: old-style function definition [-Wold-style-definition]

Fix trailing whitespace

Fix use -T for template for epan\Makefile.nmake, epan\dfilter\Makefile.nmake, plugins\mate\Makefile.nmake, plugins\tpg\Makefile.nmake and cmake/modules/UseLemon.cmake

Fix -Wmissing-prototypes

Remove unused function (acttab_free)

Add basename the filename with only filename (no path...)

Change-Id: Ia79f61e29f828575df61cc89134c6c553044e86d
Reviewed-on: https://code.wireshark.org/review/3976
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-01-11 18:56:08 +00:00
Alexis La Goutte d8001e8064 Continue to remove $Id$ from top of file
(Using sed : sed -i '/^\*\* \$Id\$/,+1 d') (2 star and space)

Change-Id: I48505ffb8bfa103cd7db0117e18cdb1925a7034d
Reviewed-on: https://code.wireshark.org/review/884
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-31 18:50:19 +00:00
Jörg Mayer a8002aa0b7 Fix two coverity messages:
*** CID 718534:  Dereference before null check  (REVERSE_INULL)
/tools/lemon/lemon.c: 3425 in translate_code()
3419                rp->rhs[i]->index,i-rp->nrhs+1);
3420           }else{
3421             /* No destructor defined for this term */
3422           }
3423         }
3424       }
>>>     CID 718534:  Dereference before null check  (REVERSE_INULL)
>>>     Null-checking "rp->code" suggests that it may be null, but it has already been
+dereferenced on all paths leading to the check.
3425       if( rp->code ){
3426         cp = append_str(0,0,0,0);
3427         rp->code = Strsafe(cp?cp:"");
3428       }
3429     }
3430

*** CID 1156989:  Out-of-bounds read  (OVERRUN)
/tools/lemon/lemon.c: 3139 in tplt_xfer()
3133       int i, iStart;
3134       char line[LINESIZE];
3135       while( fgets(line,LINESIZE,in) && (line[0]!='%' || line[1]!='%') ){
3136         (*lineno)++;
3137         iStart = 0;
3138         if( name ){
>>>     CID 1156989:  Out-of-bounds read  (OVERRUN)
>>>     Overrunning array "line" of 1000 bytes at byte offset 1000 using index "i"
+(which evaluates to 1000).
3139           for(i=0; line[i] && i<LINESIZE; i++){
3140             if( line[i]=='P' && i<(LINESIZE-5) && strncmp(&line[i],"Parse",5)==0
3141               && (i==0 || !safe_isalpha(line[i-1]))
3142             ){
3143               if( i>iStart ) fprintf(out,"%.*s",i-iStart,&line[iStart]);
3144               fprintf(out,"%s",name);

svn path=/trunk/; revision=54849
2014-01-19 17:59:20 +00:00
Guy Harris 61d5c458a0 Squelch some warnings.
svn path=/trunk/; revision=54711
2014-01-13 19:07:48 +00:00
Balint Reczey 2ec033d15e Fix potential signed int overflow in Lemon
This chrashed Solaris buildbot when -ftrapv was enabled.
Triaged by Guy Harris, see detail at:
http://www.wireshark.org/lists/wireshark-dev/201311/msg00185.html

svn path=/trunk/; revision=53624
2013-11-28 16:04:33 +00:00