[brlcad-commits] SF.net SVN: brlcad:[44137] geomcore/trunk/src/libNet/netMsg/ GeometryChunkMsg.cxx
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <dav...@us...> - 2011-03-31 19:54:08
|
Revision: 44137 http://brlcad.svn.sourceforge.net/brlcad/?rev=44137&view=rev Author: davidloman Date: 2011-03-31 19:54:01 +0000 (Thu, 31 Mar 2011) Log Message: ----------- Worked out a silly allocation bug in GeometryChunkMsg::chunkToObj() Modified Paths: -------------- geomcore/trunk/src/libNet/netMsg/GeometryChunkMsg.cxx Modified: geomcore/trunk/src/libNet/netMsg/GeometryChunkMsg.cxx =================================================================== --- geomcore/trunk/src/libNet/netMsg/GeometryChunkMsg.cxx 2011-03-31 19:36:18 UTC (rev 44136) +++ geomcore/trunk/src/libNet/netMsg/GeometryChunkMsg.cxx 2011-03-31 19:54:01 UTC (rev 44137) @@ -109,23 +109,26 @@ BRLCAD::MinimalObject* GeometryChunkMsg::chunkToObj(GeometryChunkMsg* msg) { - if (msg == NULL) + if (msg == NULL) { + bu_log("NULL msg"); return NULL; + } ByteArray* ba = msg->getByteArray(); - if (ba == NULL) + if (ba == NULL){ + bu_log("NULL ByteArray"); return NULL; + } - size_t extSize = sizeof(bu_external); + + bu_external* ext = (bu_external*)bu_calloc(1,sizeof(bu_external),"chunkToExt bu_external calloc");; + size_t baSize = ba->size(); - if (extSize != baSize) - return NULL; - /* Build bu_external */ - bu_external* ext = (bu_external*)bu_calloc(sizeof(extSize),1,"chunkToExt bu_external calloc"); - memcpy((char*)ext, ba->data(), extSize); + ext->ext_buf = (uint8_t*)bu_calloc(1,baSize,"chunkToExt bu_external calloc"); + memcpy(ext->ext_buf, ba->data(), baSize); /* Get object name */ struct db5_raw_internal raw; @@ -139,7 +142,6 @@ return NULL; } - std::string name((char*)raw.name.ext_buf); return new BRLCAD::MinimalObject(msg->getPath(), name, ext); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |