summaryrefslogtreecommitdiffstats
path: root/c++/src/H5CommonFG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5CommonFG.cpp')
-rw-r--r--c++/src/H5CommonFG.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index f9311c6..dd4a419 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -570,8 +570,10 @@ H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
// if the actual length of the comment is longer than bufsize and bufsize
// was the default value, i.e., not given by the user, then call
- // H5Oget_comment_by_name again with the correct value
- if ((size_t)ret_value > bufsize && bufsize == 256)
+ // H5Oget_comment_by_name again with the correct value.
+ // If the call to H5Oget_comment_by_name returned an error, skip this block
+ // and throw an exception below.
+ if (ret_value >= 0 && (size_t)ret_value > bufsize && bufsize == 256)
{
size_t new_size = ret_value;
delete []comment_C;