summaryrefslogtreecommitdiffstats
path: root/src/H5Clog_trace.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2019-01-31 08:14:11 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2019-01-31 08:14:11 (GMT)
commit99d70c494d72bed9c2961348a659696090752ac5 (patch)
treebcc7f3e71a8cc0eff7d6f0d9f5379c4b316480bf /src/H5Clog_trace.c
parent90bf59edc59bfabb38d677dc6bddb12eb57e8b11 (diff)
downloadhdf5-99d70c494d72bed9c2961348a659696090752ac5.zip
hdf5-99d70c494d72bed9c2961348a659696090752ac5.tar.gz
hdf5-99d70c494d72bed9c2961348a659696090752ac5.tar.bz2
Fixed a valgrind issue with the unprotect log message. The logging
call was placed after the point where the cache entry was freed. The fix was to just use the entry's address directly in the log call instead of the entry itself.
Diffstat (limited to 'src/H5Clog_trace.c')
-rw-r--r--src/H5Clog_trace.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/H5Clog_trace.c b/src/H5Clog_trace.c
index f7d6889..7c1305c 100644
--- a/src/H5Clog_trace.c
+++ b/src/H5Clog_trace.c
@@ -82,7 +82,7 @@ static herr_t H5C__trace_write_protect_entry_log_msg(void *udata, const H5C_cach
static herr_t H5C__trace_write_resize_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, size_t new_size, herr_t fxn_ret_value);
static herr_t H5C__trace_write_unpin_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, herr_t fxn_ret_value);
static herr_t H5C__trace_write_destroy_fd_log_msg(void *udata, const H5C_cache_entry_t *parent, const H5C_cache_entry_t *child, herr_t fxn_ret_value);
-static herr_t H5C__trace_write_unprotect_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, int type_id, unsigned flags, herr_t fxn_ret_value);
+static herr_t H5C__trace_write_unprotect_entry_log_msg(void *udata, haddr_t address, int type_id, unsigned flags, herr_t fxn_ret_value);
static herr_t H5C__trace_write_set_cache_config_log_msg(void *udata, const H5AC_cache_config_t *config, herr_t fxn_ret_value);
static herr_t H5C__trace_write_remove_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, herr_t fxn_ret_value);
@@ -872,7 +872,7 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5C__trace_write_unprotect_entry_log_msg(void *udata, const H5C_cache_entry_t *entry,
+H5C__trace_write_unprotect_entry_log_msg(void *udata, haddr_t address,
int type_id, unsigned flags, herr_t fxn_ret_value)
{
H5C_log_trace_udata_t *trace_udata = (H5C_log_trace_udata_t *)(udata);
@@ -883,11 +883,10 @@ H5C__trace_write_unprotect_entry_log_msg(void *udata, const H5C_cache_entry_t *e
/* Sanity checks */
HDassert(trace_udata);
HDassert(trace_udata->message);
- HDassert(entry);
/* Create the log message string */
HDsnprintf(trace_udata->message, H5C_MAX_TRACE_LOG_MSG_SIZE, "H5AC_unprotect 0x%lx %d 0x%x %d\n",
- (unsigned long)(entry->addr), type_id, flags, (int)fxn_ret_value);
+ (unsigned long)(address), type_id, flags, (int)fxn_ret_value);
/* Write the log message to the file */
if(H5C__trace_write_log_message(trace_udata) < 0)