Mercurial > hg > dmlib
changeset 1937:a137e49e9f0d
Fix a silly memory leak in stdio support of DMResource, also fix a related
double-free issue caused by the first change.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 29 Jun 2018 00:26:13 +0300 |
parents | 73c513f536d0 |
children | a8e475eede4a |
files | src/dmres.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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); }