Commit Graph

26 Commits

Author SHA1 Message Date
Dennis Heimbigner
751300ec59 Fix more memory leaks in netcdf-c library
This is a follow up to PR https://github.com/Unidata/netcdf-c/pull/1173

Sorry that it is so big, but leak suppression can be complex.

This PR fixes all remaining memory leaks -- as determined by
-fsanitize=address, and with the exceptions noted below.

Unfortunately. there remains a significant leak that I cannot
solve. It involves vlens, and it is unclear if the leak is
occurring in the netcdf-c library or the HDF5 library.

I have added a check_PROGRAM to the ncdump directory to show the
problem.  The program is called tst_vlen_demo.c To exercise it,
build the netcdf library with -fsanitize=address enabled. Then
go into ncdump and do a "make clean check".  This should build
tst_vlen_demo without actually executing it.  Then do the
command "./tst_vlen_demo" to see the output of the memory
checker.  Note the the lost malloc is deep in the HDF5 library
(in H5Tvlen.c).

I am temporarily working around this error in the following way.
1. I modified several test scripts to not execute known vlen tests
   that fail as described above.
2. Added an environment variable called NC_VLEN_NOTEST.
   If set, then those specific tests are suppressed.

This should mean that the --disable-utilities option to
./configure should not need to be set to get a memory leak clean
build.  This should allow for detection of any new leaks.

Note: I used an environment variable rather than a ./configure
option to control the vlen tests. This is because it is
temporary (I hope) and because it is a bit tricky for shell
scripts to access ./configure options.

Finally, as before, this only been tested with netcdf-4 and hdf5 support.
2018-11-15 10:00:38 -07:00
Bas Couwenberg
988b4ff868 Fix spelling errors.
* characers -> characters
 * varaible  -> variable
2016-08-28 15:45:36 +02:00
Bas Couwenberg
eb2561aaab Fix 'atttributes' typo, replace with 'attributes'. 2016-01-15 02:17:29 +01:00
dmh
47e10591b4 ckp 2015-11-19 13:44:55 -07:00
dmh
413e49d758 1. There were several bugs in ncdump/dumplib.c
that were not taking the CDF-5 format into account.

2. Had to update ncgen.1 man page to define the new
   k-flag rules to deal with cdf-5.

3. Had to fix some tests that use 'cmp' for comparison;
   this really should be deprecated.

3. There was a bug in configure.ac with respect
   to using the enable-netcdf-4 flag vs
   using disable-netcdf-4.
2015-11-06 17:03:28 -07:00
Ward Fisher
80bf9a0aa2 Resolved conflict. 2015-01-16 09:28:07 -07:00
Nico Schlömer
6d2b61ddb7 hyphens used as minus signs 2015-01-16 13:12:11 +01:00
Nico Schlömer
a9f4ea96c1 Update ncgen.1 2015-01-16 10:02:00 +01:00
Russ Rew
4eefcd4707 Typos and consistency fixes in docs 2014-12-29 14:22:26 -07:00
Russ Rew
6ca14d8a78 Update ncgen code and docs to use nco-type format codes and deprecate use of confusing format version numbers 2014-12-28 10:44:21 -07:00
Ward Fisher
85e8e7e945 Addressed man page syntax warnings reported in github issue 52, https://github.com/Unidata/netcdf-c/issues/52 2014-10-03 10:46:02 -06:00
dmh
7e582ad3f2 re: Jira NCF-309
The code for handling character constants
in datalists in ncgen has some problems.
1. It failed on large constants
2. It did not handle e.g. var = 'a', 'b', ...
   in the same way that ncgen3 did.
3. The code for generate.c and genchar.c needed
   some refactoring to make it a little simpler
   (but not simple).
2014-09-18 18:26:06 -06:00
Russ Rew
1205960b0e Document that ncgen input can come from stdin 2014-08-24 16:58:26 -06:00
dmh
7d03c2e34e Added stripped grammar to ncgen man page (ncgen.1). 2013-11-04 10:43:45 -07:00
dmh
e7414e16d0 [NCF-265] again.
1. Updated the ncgen manual (ncgen.1)
   to discuss handling of ambiguous
   enumeration constant references.
2. Fixed the test case. It is currently
   XFAIL'd until such time as ncdump
   is modified to output properly
   disambiguated enumeration constant
   references.
2013-09-22 12:08:27 -06:00
Dennis Heimbigner
483cbf94fe Added code to support NIL
values for strings in ncgen.
Needs test cases.
2013-07-10 20:00:48 +00:00
Dennis Heimbigner
42999f4c7c move from oc1.0 to oc2.0; create new dir oc2 2012-07-31 20:34:13 +00:00
Russ Rew
46736d24ab Updated documentation of CDL byte constants to lessen confusion
with char constants.  Update version to 4.2.1.  Make minor changes to
RELEASE_NOTES.
2012-07-17 20:00:14 +00:00
Dennis Heimbigner
99eef24bc2 - Fix NCF-158 to modify ncgen flag defaults.
- Fix NCF-157 to modify DAP code to support
  partial variable retrieval.
- Fix of NCF-154 to solve problem of ncgen
  improperly processing data lists for variables
  of size greater than 2**18 bytes.
- Fix ncgen processing of char variables that have
  multiple unlimited dimensions.
- Partly fix Jira issue: NCF-145 (vlen issues).
- Benchmark program nc_test4/tst_ar4_*) requires arguments
  and should only be invoked inside a shell
  script; fixed so that they terminate cleanly
  if invoked with no arguments.
- Fix the Doxygen processing so it will work
  with make distcheck.
- Begin switchover to using an alternative to ncio.
- Begin support for in-memory (diskless) files.
2012-03-14 23:26:48 +00:00
Russ Rew
486509242f Fix ncgen -b documentation to match implemented behavior 2012-03-12 18:21:32 +00:00
Dennis Heimbigner
7e63849e03 added some notes about attributes 2012-02-15 22:33:28 +00:00
Dennis Heimbigner
ea1af11655 Resolve Lynton's vlen problems (partially) re: jira NCF-145 2012-02-14 00:25:32 +00:00
Dennis Heimbigner
599f35d2e6 fix appel problems with data lists 2012-01-09 18:39:37 +00:00
Dennis Heimbigner
9c9a385fbd disallow uppercase section keywords 2010-08-25 19:01:07 +00:00
Dennis Heimbigner
c9a566a42c rebuilt the handling of character datalists to support unlimiteds properly 2010-07-29 20:37:05 +00:00
Ed Hartnett
18f4bca367 moving to trunk subdir 2010-06-03 13:24:43 +00:00