# HG changeset patch # User Matti Hamalainen # Date 1530221173 -10800 # Node ID a137e49e9f0dfd2359efdda569ea22e20c4f4ca6 # Parent 73c513f536d0de8a9df2b27db8030bec5e8b31d7 Fix a silly memory leak in stdio support of DMResource, also fix a related double-free issue caused by the first change. diff -r 73c513f536d0 -r a137e49e9f0d src/dmres.c --- a/src/dmres.c Thu Jun 28 23:02:53 2018 +0300 +++ b/src/dmres.c Fri Jun 29 00:26:13 2018 +0300 @@ -711,7 +711,7 @@ dm_mem_fwrite, NULL, - dmResourceFree, + NULL, NULL }; @@ -853,8 +853,9 @@ if (handle->fh == NULL) { + int error = handle->error; dmResourceFree(handle); - return handle->error; + return error; } dmResourceRef(handle); @@ -885,6 +886,9 @@ if (handle->fops->fclose != NULL) handle->fops->fclose(handle); + + if (handle->lib == NULL) + dmResourceFree(handle); }