@@ -132,8 +132,10 @@ void ncmpii_add_mem_entry(void *buf,
132132/*----< ncmpii_del_mem_entry() >---------------------------------------------*/
133133/* delete a malloc entry from the table */
134134static
135- void ncmpii_del_mem_entry (void * buf )
135+ int ncmpii_del_mem_entry (void * buf )
136136{
137+ int err = 0 ;
138+
137139#ifdef ENABLE_THREAD_SAFE
138140 pthread_mutex_lock (& lock );
139141#endif
@@ -146,6 +148,7 @@ void ncmpii_del_mem_entry(void *buf)
146148 if (ret == NULL ) {
147149 fprintf (stderr , "Error at line %d file %s: tfind() buf=%p\n" ,
148150 __LINE__ ,__FILE__ ,buf );
151+ err = 1 ;
149152 goto fn_exit ;
150153 }
151154 /* free space for func and filename */
@@ -159,6 +162,7 @@ void ncmpii_del_mem_entry(void *buf)
159162 if (ret == NULL ) {
160163 fprintf (stderr , "Error at line %d file %s: tdelete() buf=%p\n" ,
161164 __LINE__ ,__FILE__ ,buf );
165+ err = 1 ;
162166 goto fn_exit ;
163167 }
164168 free (tmp );
@@ -170,7 +174,7 @@ void ncmpii_del_mem_entry(void *buf)
170174#ifdef ENABLE_THREAD_SAFE
171175 pthread_mutex_unlock (& lock );
172176#endif
173- return ;
177+ return err ;
174178}
175179#endif
176180
@@ -246,7 +250,9 @@ void *NCI_Realloc_fn(void *ptr,
246250 }
247251
248252#ifdef PNC_MALLOC_TRACE
249- ncmpii_del_mem_entry (ptr );
253+ if (ncmpii_del_mem_entry (ptr ) != 0 )
254+ fprintf (stderr , "realloc failed in file %s func %s line %d\n" ,
255+ filename , func , lineno );
250256#endif
251257 void * buf = (void * ) realloc (ptr , size );
252258#ifdef PNETCDF_DEBUG
@@ -275,7 +281,9 @@ void NCI_Free_fn(void *ptr,
275281{
276282 if (ptr == NULL ) return ;
277283#ifdef PNC_MALLOC_TRACE
278- ncmpii_del_mem_entry (ptr );
284+ if (ncmpii_del_mem_entry (ptr ) != 0 )
285+ fprintf (stderr , "free failed in file %s func %s line %d\n" ,
286+ filename , func , lineno );
279287#endif
280288 free (ptr );
281289}
0 commit comments