diff src/dmres.c @ 1044:1ec6ae223941

Sanitize resource data freeing.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 01 Mar 2015 17:47:35 +0200
parents d0f80f6a0c65
children 1f37239172ad
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;
 }