Describe the bug
jsoncpp, as a shared library, should not call abort merely because there's an error reading a value:
|
throwRuntimeError("Exceeded stackLimit in readValue()."); |
See https://en.cppreference.com/w/c/program/abort, abort should only be called to abnormally cause the program to exit. Functions inserted by atexit are also not called, meaning that the host program may have not cleaned up resources properly. But here, exceeding stack limit isn't a sign of abnormalty.
exit is not a good substitute either, see the exit-in-shared-library from Debian:
https://lintian.debian.org/tags/exit-in-shared-library.html
In this case, returning false seems like a better idea.