[MOAB-dev] r5771 - MOAB/trunk/src/io
    iulian at mcs.anl.gov 
    iulian at mcs.anl.gov
       
    Tue Oct  9 11:23:31 CDT 2012
    
    
  
Author: iulian
Date: 2012-10-09 11:23:31 -0500 (Tue, 09 Oct 2012)
New Revision: 5771
Modified:
   MOAB/trunk/src/io/Tqdcfr.cpp
Log:
bug discovered by Xiabing while running on ubuntu 12.04, in optimized mode
it is an array overflow, and it seems that ubuntu 12 is more sensitive with these. 
Also, the problem appeared because of an empty block in the cub file used for testing. 
I let it there, it could uncover some more bugs :)
Modified: MOAB/trunk/src/io/Tqdcfr.cpp
===================================================================
--- MOAB/trunk/src/io/Tqdcfr.cpp	2012-10-08 12:14:12 UTC (rev 5770)
+++ MOAB/trunk/src/io/Tqdcfr.cpp	2012-10-09 16:23:31 UTC (rev 5771)
@@ -1855,7 +1855,8 @@
     if (52 != block_headers[i].blockElemType) {
       int num_verts = cub_elem_num_verts[block_headers[i].blockElemType];
       block_headers[i].blockEntityType = block_type_to_mb_type[block_headers[i].blockElemType];
-      if (num_verts != CN::VerticesPerEntity(block_headers[i].blockEntityType)) {
+      if ((block_headers[i].blockEntityType < MBMAXTYPE) &&
+         ( num_verts != CN::VerticesPerEntity(block_headers[i].blockEntityType)) ) {
           // not a linear element; try to find hasMidNodes values
         for (int j = 0; j < 4; j++) block_headers[i].hasMidNodes[j] = 0;
         if (0 == instance->hasMidNodesTag) {
    
    
More information about the moab-dev
mailing list