Mercurial > hg > dmlib
changeset 1044:1ec6ae223941
Sanitize resource data freeing.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 01 Mar 2015 17:47:35 +0200 |
parents | 6ca9c334f5cd |
children | 1f37239172ad |
files | src/dmres.c |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dmres.c Sun Mar 01 17:46:27 2015 +0200 +++ b/src/dmres.c Sun Mar 01 17:47:35 2015 +0200 @@ -40,14 +40,15 @@ void dmResourceFreeResData(DMResource *node) { - if (node->resData != NULL && - node->rops != NULL && - node->rops->free != NULL) + if (node->resData != NULL) { - node->rops->free(node); + if (node->rops != NULL && + node->rops->free != NULL) + node->rops->free(node); + else + dmFree(node->resData); + node->resData = NULL; } - - node->resData = NULL; node->flags &= ~DMF_LOADED_RES; }