[GRASS-dev] Re: [GRASS GIS] #536: memory corruption

GRASS GIS trac at osgeo.org
Sun Mar 29 12:30:30 EDT 2009


#536: memory corruption
----------------------+-----------------------------------------------------
  Reporter:  martinl  |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect   |      Status:  reopened                 
  Priority:  blocker  |   Milestone:  7.0.0                    
 Component:  Vector   |     Version:  svn-trunk                
Resolution:           |    Keywords:                           
  Platform:  Linux    |         Cpu:  x86-32                   
----------------------+-----------------------------------------------------
Comment (by mmetz):

 Replying to [comment:18 martinl]:
 > When implementing very basic GEOS support in v.select I was facing to
 the similar problem.
 >
 > In the loop
 (http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.select/main.c#L176)
 is initialized ifield variable. Inside of the loop everything is OK -
 ifield[0] and ifield[1] are initialized properly. After leaving the loop
 in ifield[0] occurs random value.
 >
 > More strangely when I add before line
 http://trac.osgeo.org/grass/browser/grass/trunk/vector/v.select/main.c#L37
 >
 > {{{
 > struct GOption *in_opt[2];
 > }}}
 >
 > memory is not corrupted at all.
 >

 Doesn't make any sense to me why ifield[0] should get a random value.
 Maybe just use the working solution?

 FYI, I have already taken some algorithms from GEOS, translated from C++
 to C, optimized where possible and put into the grass7 vector libs,
 replacing less efficient algorithms (topology building for areas). If you
 want some GEOS functionality to be available in the grass vector libs
 directly, we could join forces.

 Best, Markus

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/536#comment:19>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list