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;
 }