Commit Graph

3 Commits

Author SHA1 Message Date
Charles Mita 482ab573af Initialise the error stack message arrays at start
This helps prevent potential segfaults due to null-pointer
dereferencing in the face of errors when the plugin is accessed via
multiple threads.

If multiple threads are pushing errors onto the error stack then its
possible for elements of the various string pointer arrays to be left
NULL, causing a segfault when the stack is printed.

Whilst this does nothing to address the "correctness" of the plugin in
a multi-threaded context, at least it shouldn't crash.

Error messages may still be corrupted.
2018-08-15 15:51:28 +01:00
Charles Mita cc4d129932 Copy the HDF5 error stack into ours 2018-04-10 17:16:27 +01:00
Charles Mita db16131db4 Add manual error tracing
Error messages and function names/line numbers are traced via
__func__ or __FUNCTION__, __LINE__, etc (or just "unknown" if
not available). A manual stack is kept onto which these values
are pushed which can then be dumped to stderr/stdout.

stderr is used to report this information since no other
facility appears to be provided.
2018-03-27 17:58:22 +01:00