I compiled your excellent library with gcc -Wall -Wextra options.
It found several warnings, most worth looking, for instance:
libconfig/libconfigcpp.c++:52: warning: base class `class libconfig::ConfigException' should be explicitly initialized in the copy constructor
Or the copy constructor is not initializing the base class ConfigException.
Where I added:
ParseException::ParseException(const ParseException &other)
_file(other._file ? ::strdup(other._file) : NULL),
Also I run dmalloc and it complained of some free(NULL) from your library (this is a runtime tool so it actually happened), example:
in **scanctx_cleanup there was:
Now I have:
Those above are only examples, there are +-15 of those corrections.
I would be happy to pass a report to you, I do not want to pass these changes to every new version I get from you.
I also think you are going to benefit from the changes.