Revision: 76905
          http://sourceforge.net/p/brlcad/code/76905
Author:   brlcad
Date:     2020-08-23 16:15:00 +0000 (Sun, 23 Aug 2020)
Log Message:
-----------
should manually initialize all embedded structs on creation, particularly vls 
so the magic is set correctly

Modified Paths:
--------------
    brlcad/trunk/src/libdm/dm-generic.c

Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-08-23 16:13:18 UTC (rev 76904)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-08-23 16:15:00 UTC (rev 76905)
@@ -141,8 +141,12 @@
     struct dm *new_dm = DM_NULL;
     BU_GET(new_dm, struct dm);
     BU_GET(new_dm->i, struct dm_impl);
+
+    /* have to manually initialize all internal structs */
     bu_vls_init(&new_dm->i->dm_pathName);
+    bu_vls_init(&new_dm->i->dm_tkName);
     bu_vls_init(&new_dm->i->dm_dName);
+    bu_vls_init(&new_dm->i->dm_log);
 
     return new_dm;
 }
@@ -151,9 +155,14 @@
 dm_put(struct dm *dmp)
 {
     if (dmp && dmp != DM_NULL) {
+       /* have to manually de-initialize all internal structs */
        bu_vls_free(&dmp->i->dm_pathName);
+       bu_vls_free(&dmp->i->dm_tkName);
        bu_vls_free(&dmp->i->dm_dName);
-       if (dmp->i->fbp) fb_put(dmp->i->fbp);
+       bu_vls_free(&dmp->i->dm_log);
+
+       if (dmp->i->fbp)
+           fb_put(dmp->i->fbp);
        if (dmp->i->dm_put_internal)
            dmp->i->dm_put_internal(dmp);
        BU_PUT(dmp->i, struct dm_impl);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to